查看DWS实时SQL记录
在实时查询监控页面展示了当前运行在集群中的所有查询和会话的实时信息。

- 实时查询仅8.1.2及以上集群版本支持。
- 启动实时查询功能需要在“监控设置 > 监控采集”页面打开“实时查询监控”采集功能,操作详情请参见监控采集。开启实时查询后可能会导致数据量过大,请谨慎操作。
进入实时查询页面
- 登录DWS管理控制台。
- 在“专属集群 > 集群列表”页面,找到需要查看监控的集群。
- 在指定集群所在行的“操作”列,单击“监控面板”,系统将显示数据库监控页面。
- 在左侧导航栏选择“监控 > 实时查询”,进入实时查询监控页面。
前提条件
查询监控中用户查看数据前需要设置相关GUC参数,若没有设置的情况下,可能会导致查询监控中的实时查询或历史查询不可用。但如果设置也可能会导致集群性能下降,所以用户需权衡相关参数配置。相关GUC参数推荐配置如下,修改参数操作请参见修改GaussDB(DWS)集群GUC参数,具体参数说明请参见相关GUC参数设置。
GUC参数 |
CN建议设置值 |
DN建议设置值 |
---|---|---|
max_active_statements |
10 |
10 |
enable_resource_track |
on |
on |
resource_track_level |
query |
query |
resource_track_cost |
0 |
0 |
resource_track_duration |
60 |
60 |
enable_resource_record |
on |
on |
session_statistics_memory |
1000MB |
1000MB |
查询信息
在这一栏您可浏览查询信息状态的数量,其中包括会话数量、平均会话耗时(所有会话连接的时间除以会话数)、查询数量、平均查询耗时、平均查询等待时间等。
实时会话
在“实时会话”这一栏您可以浏览到正在运行中的所有会话实时信息,可单击列表右上方的设置按钮勾选需要在列表中展示的指标信息。指标详情请参见表2。
- 单击会话ID可以显示当前会话上的查询,详情参见实时查询监控详情。
- 用户如果需要终止会话,单击“终止会话”按钮,确认是否终止会话。
- 用户如果需要将会话状态为“idle”的空闲会话全部终止,单击“一键清理空闲会话”按钮,确认是否终止当前集群的全部空闲会话。
- 新增细粒度权限控制功能,只有配置了操作权限的用户才能使用终止会话按钮。只读权限用户登录后终止会话按钮为灰色。
参数名称 |
参数说明 |
监控周期(原始指标) |
---|---|---|
会话ID |
会话ID。 |
180s |
用户名称 |
数据库用户名称。 |
180s |
会话用时(s) |
会话时间。 |
180s |
应用名称 |
用户应用名称。 |
180s |
QueryBand |
用于标示作业类型,可通过GUC参数“query_band”进行设置,默认为空字符串。 |
180s |
客户端IP |
连接到后端的客户端的IP地址,如果此字段是null,它表明通过服务器机器上unix套接字连接客户端或者这是内部进程,如autovacuum。 |
180s |
接入CN |
会话接入的CN。 |
180s |
会话状态 |
会话的状态,包含以下状态:
|
180s |
开始时间 |
该会话开始的时间。 |
180s |
锁模式 |
锁模式。 |
180s |
锁持有状态 |
存在锁等待情况,是否持有锁,持有为true。 |
180s |
锁定对象 |
锁等待的对象。 |
180s |
查询SQL |
查询SQL语句。 |
180s |
锁等待 |
如果后台当前正等待锁则为true。 |
180s |
当前查询时长 |
语句当前为止的实际执行时间。 |
180s |
当前查询开始时间 |
语句执行的开始时间。 |
180s |
实时查询
在“实时查询”这一栏您可以根据选择的指定时间段浏览集群中正在运行的所有查询信息,可单击列表右上方的设置按钮勾选需要在列表中展示的指标信息。指标详情请参见表3。
- 单击查询ID可以显示查询监控详情。但当查询ID为0时,表示此查询出现异常,不支持单击显示详情与终止查询功能。
- 若用户需要终止查询,单击“终止查询”按钮,确认是否终止查询。
- 新增细粒度权限控制功能,只有配置了操作权限的用户才能使用终止查询按钮。只读权限用户登录后终止查询按钮为灰色。
- 快慢车道根据执行计划中cost进行计算,优化器估算内存大于32MB进入慢车道,反之为快车道。
指标名称 |
指标说明 |
监控周期(原始指标) |
---|---|---|
查询ID |
语句执行使用的内部query_ID。 |
60s |
用户名称 |
连接到后端的用户名。 |
60s |
应用名称 |
连接到后端的应用名。 |
60s |
数据库名称 |
数据库的名称。 |
60s |
资源池 |
用户使用的资源池。 |
60s |
提交时间 |
查询语句提交的时间。 |
60s |
阻塞时间(ms) |
查询语句阻塞的时间。 |
60s |
执行时间(ms) |
查询语句执行的时间。 |
60s |
最小cpu时间(ms) |
语句在所有DN上的最小CPU时间。 |
60s |
最大cpu时间(ms) |
语句在所有DN上的最大CPU时间。 |
60s |
CPU时间(ms) |
语句在所有DN上的CPU总时间。 |
60s |
CPU时间倾斜(%) |
语句在各DN间的CPU时间倾斜率。 |
60s |
dn下盘信息 |
语句在所有DN上的下盘信息。 |
60s |
dn上下盘的最小数据量(mb) |
如果发生下盘,所有DN上下盘的最小数据量,默认为0。 |
60s |
dn上下盘的最大数据量(mb) |
如果发生下盘,所有DN上下盘的最大数据量,默认为0。 |
60s |
平均下盘量(MB) |
如果发生下盘,所有DN上下盘的平均数据量,默认为0。 |
60s |
dn间下盘倾斜率 |
如果发生下盘,DN间下盘倾斜率。 |
60s |
查询语句 |
执行的语句。 |
60s |
接入CN |
接入的CN节点。 |
60s |
客户端IP |
连接到后端的客户端的IP地址,如果此字段是null,它表明通过服务器机器上unix套接字连接客户端或者这是内部进程,如autovacuum。 |
60s |
快慢车道 |
快慢车道(fast/slow)。 |
60s |
查询状态 |
其中查询状态包含以下状态:
|
60s |
会话ID |
会话ID。 |
60s |
排队状态 |
排队的状态。 |
60s |
作业类型 |
用于标示作业类型,可通过guc参数query_band进行设置,默认为空字符串。 |
60s |
任务名称 |
任务名称。 |
60s |
任务实例 |
任务实例。 |
60s |
主机名称 |
客户端的主机名,这个字段是通过client_addr的反向DNs查找得到。这个字段只有在启动log_hostname且使用ip连接时才非空。 |
60s |
TCP端口 |
客户端用于与后端通讯的tcp端口号,如果使用unix套接字,则为-1。 |
60s |
是否等待 |
该查询是否等待。 |
60s |
预估总执行时间(ms) |
语句预估执行时间。 |
60s |
预估剩余时间(ms) |
语句预估剩余时间。 |
60s |
cgroup |
语句所使用的cgroup。 |
60s |
dn最小内存峰值(mb) |
语句在所有DN上的最小内存峰值。 |
60s |
dn最大内存峰值(mb) |
语句在所有DN上的最大内存峰值。 |
60s |
内存使用平均值(mb) |
语句执行过程中的内存使用平均值。 |
60s |
各dn内存使用倾斜率 |
语句在各DN间的内存使用倾斜率。 |
60s |
预估使用内存(mb) |
语句预估使用内存。 |
60s |
dn最小执行时间(ms) |
语句在所有DN上的最小执行时间。 |
60s |
dn最大执行时间(ms) |
语句在所有DN上的最大执行时间。 |
60s |
dn平均执行时间(ms) |
语句在所有DN上的平均执行时间。 |
60s |
各dn的执行时间倾斜率 |
语句在各DN间的执行时间倾斜率。 |
60s |
告警 |
主要显示告警信息以及SQL自诊断调优相关告警。 |
60s |
dn每秒平均io峰值(列存是次/s,行存是万次/s) |
语句在所有DN上的每秒平均I/O峰值。 |
60s |
dn间的io倾斜率 |
语句在各DN间的I/O倾斜率。 |
60s |
语句运行状态 |
当前查询语句的实时运行状态(active、IDle、IDleintransaction、IDleintransaction(aborted)、fastpathfunctioncall、disabled)。 |
60s |
语句属性 |
语句的属性(ordinary、simple、complicated、internal)。 |
60s |
逻辑集群 |
语句所属用户对应的逻辑集群。 |
60s |