实时TopSQL
系统提供了query级别和算子级别的资源监控实时视图用来查询实时TopSQL。资源监控实时视图记录了查询作业运行时的资源使用情况(包括内存、下盘、CPU时间、IO等)以及性能告警信息。
实时视图具体的对外接口如下表所示:
视图级别 |
节点范围 |
查询视图 |
---|---|---|
Query级别 |
当前CN |
gs_wlm_session_statistics |
所有CN |
pgxc_wlm_session_statistics |
|
算子级别 |
当前CN |
gs_wlm_operator_statistics |
所有CN |
pgxc_wlm_operator_statistics |
说明:
- 对外接口通过不同的前缀(gs与pgxc)来区分单CN查询视图以及集群级别查询视图。普通用户仅支持登录到集群的某个CN查询以gs为前缀的视图。
- 查询此类实时视图时,因需要获取作业运行实时资源使用情况,会有一定的网络延时。
前提条件
- GUC参数enable_resource_track为on (默认为on)。
- GUC参数resource_track_level为query或operator(默认为query)。
- 监控作业类型为:
- 优化器估算的执行代价大于或等于resource_track_cost的取值的作业,当估算的执行代价小于10时默认不统计。
- 增删改查,包括使用explain analyze和explain performance来执行的场景。query级别视图还额外支持create table as语法。
- 重分布过程中的作业不统计。
- Cgroups功能正常加载,可通过gs_cgroup -P查看控制组信息。
在上述条件中,enable_resource_track为系统级参数,用于设置是否开启资源监控功能。resource_track_level为session级参数,可以对某个session的资源监控级别进行灵活设置。这两个参数的设置方法如下表:
enable_resource_track |
resource_track_level |
query级别信息 |
算子级别信息 |
---|---|---|---|
on(default) |
none |
不统计 |
不统计 |
query(default) |
统计 |
不统计 |
|
operator |
统计 |
统计 |
|
off |
none/query/operator |
不统计 |
不统计 |
操作步骤
- 以操作系统用户omm登录CN所在主机,执行source ${BIGDATA_HOME}/mppdb/.mppdbgs_profile命令启动环境变量。
- 使用如下命令连接数据库。
gsql -d postgres -p 25308
postgres为需要连接的数据库名称,25308为CN的端口号。
连接成功后,系统显示类似如下信息:
gsql ((GaussDB Kernel V300R002C00 build 50dc16a6) compiled at 2019-01-29 05:49:21 commit 1071 last mr 1373) Non-SSL connection (SSL connection is recommended when requiring high-security) Type "help" for help. postgres=#
- 通过视图gs_session_cpu_statistics查询实时CPU信息。
1
SELECT * FROM gs_session_cpu_statistics;
- 通过视图gs_session_memory_statistics查询实时memory信息。
1
SELECT * FROM gs_session_memory_statistics;
- 通过视图gs_wlm_session_statistics查询当前CN的实时资源。
1
SELECT * FROM gs_wlm_session_statistics;
- 通过视图pgxc_wlm_session_statistics查询所有CN的实时资源。
1
SELECT * FROM pgxc_wlm_session_statistics;
- 通过视图gs_wlm_operator_statistics查询当前CN作业算子执行实时资源信息。
1
SELECT * FROM gs_wlm_operator_statistics;
- 通过视图pgxc_wlm_operator_statistics查询所有CN作业算子执行实时资源信息。
1
SELECT * FROM pgxc_wlm_operator_statistics;
- 通过视图pg_session_wlmstat查询当前用户执行作业正在运行时的负载管理信息。
1
SELECT * FROM pg_session_wlmstat;
- 通过视图pgxc_wlm_workload_records查询当前用户在每个CN上作业执行时的状态信息。
1
SELECT * FROM pgxc_wlm_workload_records;
查看更多:华为GaussDB 200 资源监控 - 通过视图gs_session_cpu_statistics查询实时CPU信息。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。