更新时间:2024-12-30 GMT+08:00

PGXC_WLM_SESSION_STATISTICS

PGXC_WLM_SESSION_STATISTICS视图显示在所有CN上正在执行的作业的负载管理信息。

表1 PGXC_WLM_SESSION_STATISTICS字段

名称

类型

描述

datid

oid

连接后端的数据OID。

dbname

name

连接后端的数据库名称。

schemaname

text

模式名。

nodename

text

语句执行的CN节点名称。

username

name

连接到后端的用户名。

application_name

text

连接到后端的应用名。

client_addr

inet

连接到后端的客户端的IP地址。 如果此字段是null,它表明通过服务器机器上UNIX套接字连接客户端或者这是内部进程,如autovacuum。

client_hostname

text

客户端的主机名,这个字段是通过client_addr的反向DNS查找得到。这个字段只有在启动log_hostname且使用IP连接时才非空。

client_port

integer

客户端用于与后端通讯的TCP端口号,如果使用Unix套接字,则为-1。

query_band

text

用于标识作业类型,可通过GUC参数query_band进行设置,默认为空字符串。

pid

bigint

后端线程ID。

block_time

bigint

语句执行前的阻塞时间,单位ms。

start_time

timestamp with time zone

语句执行的开始时间。

duration

bigint

语句已经执行的时间,单位ms。

estimate_total_time

bigint

语句执行预估总时间,单位ms。

estimate_left_time

bigint

语句执行预估剩余时间,单位ms。

enqueue

text

工作负载管理资源状态。

resource_pool

name

用户使用的资源池。

control_group

text

语句所使用的Cgroup。

estimate_memory

integer

语句在单个实例上预估使用的内存,单位MB。该字段只有当GUC参数enable_dynamic_workload为on时才有效。

min_peak_memory

integer

语句在所有DN上的最小内存峰值,单位MB。

max_peak_memory

integer

语句在所有DN上的最大内存峰值,单位MB。

average_peak_memory

integer

语句执行过程中的内存使用平均值,单位MB。

memory_skew_percent

integer

语句在各DN间的内存使用倾斜率。

spill_info

text

语句在所有DN上的下盘信息:

None:所有DN均未下盘。

All:所有DN均下盘。

[a:b]:数量为b个DN中有a个DN下盘。

min_spill_size

integer

若发生下盘,所有下盘DN的最小下盘数据量(MB),默认为0。

max_spill_size

integer

若发生下盘,所有下盘DN的最大下盘数据量(MB),默认为0。

average_spill_size

integer

若发生下盘,所有下盘DN的平均下盘数据量(MB),默认为0。

spill_skew_percent

integer

若发生下盘,DN间下盘倾斜率。

min_dn_time

bigint

语句在所有DN上的最小执行时间,单位ms。

max_dn_time

bigint

语句在所有DN上的最大执行时间,单位ms。

average_dn_time

bigint

语句在所有DN上的平均执行时间,单位ms。

dntime_skew_percent

integer

语句在各DN间的执行时间倾斜率。

min_cpu_time

bigint

语句在所有DN上的最小CPU时间,单位ms。

max_cpu_time

bigint

语句在所有DN上的最大CPU时间,单位ms。

total_cpu_time

bigint

语句在所有DN上的CPU总时间,单位ms。

cpu_skew_percent

integer

语句在各DN间的CPU时间倾斜率。

min_peak_iops

integer

语句在所有DN上的每秒最小IO峰值(列存单位是次/s,行存单位是万次/s)。

max_peak_iops

integer

语句在所有DN上的每秒最大IO峰值(列存单位是次/s,行存单位是万次/s)。

average_peak_iops

integer

语句在所有DN上的每秒平均IO峰值(列存单位是次/s,行存单位是万次/s)。

iops_skew_percent

integer

语句在DN间的IO倾斜率。

min_read_speed

integer

一个监控周期(5s)内,语句在所有DN上的最小IO读速率,单位KB/s。

max_read_speed

integer

一个监控周期(5s)内,语句在所有DN上的最大IO读速率,单位KB/s。

average_read_speed

integer

一个监控周期(5s)内,语句在所有DN上的平均IO读速率,单位KB/s。

min_write_speed

integer

一个监控周期(5s)内,语句在所有DN上的最小IO写速率,单位KB/s。

max_write_speed

integer

一个监控周期(5s)内,语句在所有DN上的最大IO写速率,单位KB/s。

average_write_speed

integer

一个监控周期(5s)内,语句在所有DN上的平均IO写速率,单位KB/s。

recv_pkg

bigint

语句在所有DN上的通信包接收总量,单位packages。

send_pkg

bigint

语句在所有DN上的通信包发送总量,单位packages。

recv_bytes

bigint

语句在所有DN上的通信流接收数据总量,单位Byte。

send_bytes

bigint

语句在所有DN上的通信流发送数据总量,单位Byte。

warning

text

主要显示如下几类告警信息以及SQL自诊断调优相关告警:

  1. Spill file size large than 256MB
  2. Broadcast size large than 100MB
  3. Early spill
  4. Spill times is greater than 3
  5. Spill on memory adaptive
  6. Hash table conflict

unique_sql_id

bigint

归一化的Unique SQL ID。

queryid

bigint

语句执行使用的内部query id。

query

text

正在执行的语句。

query_plan

text

语句的执行计划。

规格限制:

  1. DML语句都会显示执行计划,DDL语句不显示执行计划。
  2. 当用户下发PBE(Parse Bind Execute)批处理语句时,为了便于分析语句情况,自8.2.1.100集群版本开始,为批处理的PBE语句的执行计划添加数据绑定次数,显示为“PBE bind times:次数”格式。

node_group

text

语句所属用户对应的逻辑集群。

stmt_type

text

语句所对应的查询类型。

except_info

text

语句触发的异常规则信息。

parse_time

bigint

语句排队前的解析总时间(包含词法语法解析,优化重写和计划生成时间),单位ms。该字段仅8.3.0.100及以上版本支持。

unique_plan_id

bigint

归一化的Unique plan id。

sql_hash

text

归一化的sql hash。

plan_hash

text

归一化的plan hash。

disk_cache_hit_ratio

numeric(5,2)

磁盘缓存命中率 。该字段仅对存算分离3.0表及外表生效。

disk_cache_disk_read_size

bigint

读取磁盘缓存数据的总大小,单位MB。该字段仅对存算分离3.0表及外表生效。

disk_cache_disk_write_size

bigint

写入磁盘缓存的数据总大小,单位MB。该字段仅对存算分离3.0表及外表生效。

disk_cache_remote_read_size

bigint

读取磁盘缓存失败,远程直读OBS的总大小,单位MB。该字段仅对存算分离3.0表及外表生效。

disk_cache_remote_read_time

bigint

读取磁盘缓存失败,远程直读OBS的次数。该字段仅对存算分离3.0表及外表生效。

block_name

text

与语句匹配的对应拦截规则名