GaussDB(DWS)资源监控之DFX视图

举报
弹头N.SO 发表于 2023/10/13 15:51:23 2023/10/13
【摘要】 一、用户级别的DFX视图 gs_user_monitor     查询该视图会显示所有自建用户的作业执行信息、资源使用情况(CPU、内存、网络、磁盘等)。      1.1 视图使用规格只可查询自建用户的作业执行信息和资源使用情况,不显示初始用户;该视图仅支持在CN上查询;集群版本8.2.1.1及以上版本可直接使用该视图;    1.2 视图字段介绍名称类型描述usenamename用户名称...

一、用户级别的DFX视图 gs_user_monitor 

    查询该视图会显示所有自建用户的作业执行信息、资源使用情况(CPU、内存、网络、磁盘等)。  

    1.1 视图使用规格

  • 只可查询自建用户的作业执行信息和资源使用情况,不显示初始用户;
  • 该视图仅支持在CN上查询;
  • 集群版本8.2.1.1及以上版本可直接使用该视图;

    1.2 视图字段介绍

名称

类型

描述

usename

name

用户名称。

rpname

name

用户关联的资源池名称。

nodegroup

name

资源池所属逻辑集群的名称,默认集群显示“installation”。

session_count

bigint

该用户发起的会话数量,包含IDLE和ACTIVE会话。

active_count

bigint

该用户发起的活跃会话数量,即正在执行查询的会话数量。

global_wait

bigint

该用户执行的所有作业中,因单CN上并发超max_active_statements引起排队的作业数。

fast_run

bigint

该用户执行的所有作业中,正在资源池快车道运行的作业数。

fast_wait

bigint

该用户执行的所有作业中,在资源池快车道排队的作业数。

slow_run

bigint

该用户执行的所有作业中,正在资源池慢车道运行的作业数。

slow_wait

bigint

该用户执行的所有作业中,在资源池慢车道排队的作业数。

used_mem

bigint

用户在所有DN上已用内存的平均值,单位:MB。

estimate_mem

bigint

用户正在运行的作业估算内存之和,单位:MB。

used_cpu

double precision

用户在所有DN上使用CPU核数的平均值,单个节点上包含多个DN时,用户在单节点上占用的CPU核数需要乘以DN数。

read_speed

bigint

用户在所有DN上逻辑IO读速率的平均值,单位:KB/s。

write_speed

bigint

用户在所有DN上逻辑IO写速率的平均值,单位:KB/s。

send_speed

bigint

用户在所有DN上网络发送速率的平均值,单位:KB/s。

recv_speed

bigint

用户在所有DN上网络接收速率的平均值,单位:KB/s。

used_space

bigint

用户永久表已使用的空间大小,单位:KB。

space_limit

bigint

用户永久表可使用的空间大小上限,单位:KB。若显示为-1,则为不限制。

used_temp_space

bigint

用户临时表已使用的空间大小,单位:KB。若显示为-1,则为不限制。

temp_space_limit

bigint

用户临时表可使用的空间大小上限,单位:KB。-1为不限制。若显示为-1,则为不限制。

used_spill_space

bigint

用户中间结果集落盘已使用的空间大小,单位:KB。

spill_space_limit

bigint

用户中间结果集落盘可使用的空间大小上限,单位:KB。-1为不限制。若显示为-1,则为不限制。


二、队列级别DFX视图 gs_respool_monitor

    该视图会显示所有业务资源池上的作业运行信息、资源使用情况(CPU、内存、网络、磁盘等)。

    2.1 视图使用规格

  • 该视图只显示业务资源池的相应信息,不显示双层资源池场景中上层资源池的使用信息;
  • 该视图仅支持在CN上查询;
  • 集群版本8.2.1.1及以上版本可直接使用该视图;

    2.2 视图字段介绍

名称

类型

描述

rpname

name

资源池名称。

nodegroup

name

资源池所属逻辑集群的名称,默认集群显示“installation”。

cn_count

bigint

集群包含的CN数量,多CN环境下用于判断单CN管控结果是否合理。

short_acc

boolean

资源池是否开启短查询加速。

session_count

bigint

关联该资源池的会话数量,即关联该资源池的用户发起的会话数量,包含IDLE和ACTIVE会话。

active_count

bigint

关联该资源池的活跃会话数量,即正在执行查询的会话数量。

global_wait

bigint

关联该资源池的所有作业中,因单CN上并发超max_active_statements引起排队的作业数。

fast_run

bigint

关联该资源池的所有作业中,正在资源池快车道运行的作业数。

fast_wait

bigint

关联该资源池的所有作业中,在资源池快车道排队的作业数。

fast_limit

bigint

资源池快车道作业并发上限。

slow_run

bigint

关联该资源池的所有作业中,正在资源池慢车道运行的作业数。

slow_wait

bigint

关联该资源池的所有作业中,在资源池慢车道排队的作业数。

slow_limit

bigint

资源池慢车道作业并发上限。

used_mem

text

资源池在所有DN上已用内存的平均值,显示结果已使用pg_size_pretty格式化。

estimate_mem

text

资源池正在运行的作业估算内存之和,显示结果已使用pg_size_pretty格式化。

mem_limit

text

资源池可用内存的上限,显示结果已使用pg_size_pretty格式化。

query_mem_limit

name

资源池内单个查询可以使用的内存上限,主要用于限制查询估算内存,防止估算内存过大导致异常排队;通过估算内存限制查询实际使用内存,显示结果已使用pg_size_pretty格式化。

used_cpu

double precision

资源池在所有DN上占用CPU核数的平均值;CPU隔离以节点和资源池为单位,单个节点上包含多个DN时,资源池在单节点上占用的CPU核数需要乘以DN数。

cpu_limit

double precision

资源池在所有节点上可用CPU上限的平均值,CPU配额管控情况下为GaussDB全部可用CPU核数,CPU限额管控情况下为关联控制组的可用CPU核数。

read_speed

text

资源池在所有DN上逻辑IO读速率的平均值,显示结果已使用pg_size_pretty格式化。

write_speed

text

资源池在所有DN上逻辑IO写速率的平均值,显示结果已使用pg_size_pretty格式化。

send_speed

text

资源池在所有DN上网络发送速率的平均值,显示结果已使用pg_size_pretty格式化。

recv_speed

text

资源池在所有DN上网络接收速率的平均值,显示结果已使用pg_size_pretty格式化。


三、作业级别DFX视图 gs_query_monitor

     gs_query_monitor 视图显示集群中自建用户的正在执行的查询运行/排队信息及资源使用信息;

     3.1 视图使用规格

  • 该视图只显示自建用户下发的作业执行信息,初始用户下发则不会显示;
  • 不支持存储过程等子语句场景的记录信息,只会显示主语句的监控信息;
  • 该视图仅支持在CN上查询;
  • 集群版本8.2.1.1及以上版本可直接使用该视图;

     3.2 视图字段介绍

名称

类型

描述

usename

name

执行该查询的用户名称。

nodename

name

执行该查询的CN名称。

nodegroup

name

执行该查询的集群名称,默认集群显示“installation”。

rpname

name

该查询关联的资源池名称。

priority

name

查询当前优先级,包含Rush/High/Medium/Low四个优先级。

xact_start

timestamp

查询所属事务的开启时间。

query_start

timestamp

查询执行开始时间。

block_time

bigint

作业累积已排队时间,存储过程、多语句可能多次排队。单位:秒。

duration

bigint

作业已运行时间,不包含排队时间。单位:秒。

query_band

text

显示作业标识,可通过GUC参数query_band设置,默认为空。

attribute

text

作业属性:

  • Simple:简单作业;
  • Complicated:复杂作业。

作业进入资源池管控前无意义,只有进入或已完成资源池管控该字段才有意义。

lane

text

作业排队/执行所处的资源池车道:

  • fast:快车道;
  • slow:慢车道。

作业进入资源池管控前无意义,只有进入或已完成资源池管控该字段才有意义。

status

text

作业当前状态,包含pending/running两种可能状态。

queue

text

作业排队信息:

  • None:作业正在运行;
  • Global:作业在CN全局并发队列排队;
  • Respool:作业在资源池队列排队;
  • CCN:作业在CCN排队。

used_mem

integer

作业在所有DN上内存峰值的最大值,单位:MB。

estimate_mem

integer

作业估算内存,单位:MB。

used_cpu

double precision

作业开始运行至今,占用CPU核数的平均值。

read_speed

integer

作业当前在所有DN上逻辑IO读速率的平均值,单位:KB/s。

write_speed

integer

作业当前在所有DN上逻辑IO写速率的平均值,单位:KB/s。

send_speed

integer

作业开始运行至今,在所有DN上网络发送速率的平均值,单位:KB/s。

recv_speed

integer

作业开始运行至今,在所有DN上网络接收速率的平均值,单位:KB/s。

dn_count

bigint

执行该作业的DN数量。

stream_count

bigint

作业在所有DN上stream线程的数量之和。

pid

bigint

后端线程ID。

lwtid

integer

后台线程的轻量级线程号。

query_id

bigint

查询ID。

unique_sql_id

bigint

归一化的Unique SQL ID。

query

text

正在执行的查询。


四、视图使用示例

    4.1 gs_user_monitor

    查询用户的配置信息

select *  from pg_user;

    查询gs_user_monitor视图可看出,缺少perfadm(初始用户)    的资源使用情况;

select usename,rpname,nodegroup,session_count,active_count,global_wait,fast_run,fast_wait,slow_run,slow_wait,used_mem,estimate_mem,used_cpu,read_speed,write_speed,send_speed,recv_speed,used_space,used_temp_space from gs_user_monitor order by usename;

    4.2 gs_respool_monitor

    查询资源池配置信息

select * from pg_resource_pool;

   查询gs_respool_monitor视图可看出,缺少respool_grp_1和respool_grp_2(组资源池)的资源使用情况;

select rpname,nodegroup,cn_count,short_acc,session_count,active_count,global_wait,fast_run,fast_wait,fast_limit,slow_run,slow_wait,slow_limit,used_mem,estimate_mem,used_cpu,cpu_limit,read_speed,write_speed,send_speed,recv_speed from gs_respool_monitor order by rpname;

    4.3 gs_query_monitor

    使用perfadm用户并发10个作业,查询gs_query_monitor视图,并未显示perfadm的作业监控;

select usename,status,substring(query,0,20) from pgxc_session_wlmstat where usename = 'perfadm' and status ='running';
select usename,nodename,nodegroup,rpname,priority,duration,attribute,lane,status,queue,used_mem,estimate_mem,used_cpu,read_speed,write_speed,send_speed,recv_speed,dn_count,stream_count,query_id  from gs_query_monitor;

    使用user_g1_job_1 用户并发10个作业,查询gs_query_monitor视图,可详细看到执行情况;

select usename,status,substring(query,0,20) from pgxc_session_wlmstat where usename != 'perfadm' and status ='running';
select usename,nodename,nodegroup,rpname,priority,duration,attribute,lane,status,queue,used_mem,estimate_mem,used_cpu,read_speed,write_speed,send_speed,recv_speed,dn_count,stream_count,query_id  from gs_query_monitor;

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。