2种GaussDB(DWS)查看作业运行信息方式
摘要:提供以作业基本单位的作业统计视图pgxc_session_wlmstat,便于用户观察运行作业和排队作业信息。
本文分享自华为云社区《GaussDB(DWS)如何查看作业运行信息》,作者:幕后小黑爪。
用户反馈,出现连接数告警,作业并发数高,超过资源池限制,与实际配置不符。经过了解,用户使用pgxc_stat_activity视图进行作业并发数判断。
该视图显示用户查询相关信息,是以连接线程为基础来进行统计的,因而使用此视图进行查询会存在几个问题:
- 实际现网环境中,用户使用的是第三方工具连接的数据库,这些工具为了提高运行效率,会先建立连接,在下发作业,作业执行完成后返回,再下发作业运行,直到作业全部执行完成,才会断开连接,这样就导致pgxc_stat_activity会残留上次作业运行的信息,记录不准。
- 该视图中包含大量内部线程信息,如内部连接(CN-CN),这种连接已经在主CN管控过,所以理论上不需要管控。但是pgxc_stat_activity会进行记录,导致显示的活跃会话数增多,造成从pgxc_stat_activity视图中的并发数超限的现象。
为此,我们提供以作业基本单位的作业统计视图pgxc_session_wlmstat。便于用户观察运行作业和排队作业信息,以下给出推荐的查询语句。
注:该视图在GaussDB(DWS)8.1.3以上版本生效,且用户需要关闭guc参数enable_gtm_free,如果该参数开启,会存在统计不准确情况。
参数字段说明
pgxc_session_wlmstat中字段说明:
1)语句当前的状态status,包括:
- pending:执行前状态。
- running:执行进行状态。、
- finished:执行正常结束。(当enqueue字段为 StoredProc或Transaction时,仅代表语句中的部 分作业已经执行完毕,该状态会持续到该语句完全执行完毕。)
- aborted:执行异常终止。
- active: 非以上四种状态外的正常状态。
- unknown: 未知状态。
1)语句的属性attribute
- Ordinary:语句发送到数据库后被解析前的默认 属性。
- Simple:简单语句。
- Complicated:复杂语句。
- Internal:数据库内部语句。
1 分CN查询结果:
1.1 分CN查询用户的作业运行与排队统计:
select nodename,usename, enqueue,status,count(1) as query_count,sum(statement_mem) as estimate_mem from pgxc_session_wlmstat where status in ('pending','running') and attribute!='Internal' and usename!='Ruby' and usename <> 'omm' group by 1,2,3,4 limit 100;
查询结果如下:

1.2 分CN查询用户作业运行与排队详细信息
如果需要其他信息也可从pgxc_session_wlmstat和pgxc_stat_activity中进行获取
select s.nodename, s.resource_pool,s.usename, a.query_start, s.enqueue,s.status, substr(s.query,1,30) as query, statement_mem as estimate_mem,a.query_id from pgxc_session_wlmstat s, pgxc_stat_activity a where s.threadid=a.pid and status in ('pending','running') and s.attribute!='Internal' and s.usename!='Ruby' and s.usename <> 'omm' order by 1,2,3,5,6 limit 100;
查询结果如下:

1.3 分CN查询资源池内的作业运行与排队统计信息
select resource_pool,nodename, enqueue,status,count(1) as query_count,sum(statement_mem) as estimate_mem from pgxc_session_wlmstat where status in ('pending','running') and attribute!='Internal' and usename!='Ruby' and usename <> 'omm' group by 1,2,3,4 limit 100;
查询结果如下:

2 集群整体查询
2.1 整个集群用户的作业运行和排队统计
select usename, enqueue,status,count(1) from pgxc_session_wlmstat where status in ('pending','running') and attribute!='Internal' and usename!='Ruby' and usename <> 'omm' group by 1,2,3 limit 100;
查询结果如下:

2.2 整个集群查询用户作业运行与排队详细信息
select s.resource_pool,s.usename, a.query_start, s.enqueue,s.status, substr(s.query,1,30) as query, statement_mem as estimate_mem,a.query_id from pgxc_session_wlmstat s, pgxc_stat_activity a where s.threadid=a.pid and status in ('pending','running') and s.attribute!='Internal' and s.usename!='Ruby' and s.usename <> 'omm' order by 1,2,4,5 limit 100;
查询结果如下:

2.3 整个集群资源池内的作业运行与排队统计信息
select resource_pool, enqueue,status,count(1) as query_count,sum(statement_mem) as estimate_mem from pgxc_session_wlmstat where status in ('pending','running') and attribute!='Internal' and usename!='Ruby' and usename <> 'omm' group by 1,2,3 limit 100;
查询结果如下:

2.4 整个集群资源池内的作业运行和排队的统计信息
SELECT s.resource_pool AS rpname, COUNT(1) AS session_cnt,SUM(CASE WHEN a.state = 'active' THEN 1 ELSE 0 END) AS active_cnt,SUM(CASE WHEN s.enqueue ='Global' THEN 1 ELSE 0 END) AS global_wait,SUM(CASE WHEN s.lane = 'fast' and s.status = 'running' THEN 1 ELSE 0 END) AS fast_run,SUM(CASE WHEN s.lane = 'fast' and s.status = 'pending' and s.enqueue not in ('Global','None') THEN 1 ELSE 0 END) AS fast_wait,SUM(CASE WHEN s.lane = 'slow' and s.status = 'running' THEN 1 ELSE 0 END) AS slow_run,SUM(CASE WHEN s.lane = 'slow' and s.status = 'pending' and s.enqueue not in ('Global','None') THEN 1 ELSE 0 END) AS slow_wait,SUM(CASE WHEN s.status = 'running' THEN s.statement_mem ELSE 0 END) AS est_mem FROM pg_catalog.pgxc_session_wlmstat s,pg_catalog.pgxc_stat_activity a WHERE s.threadid=a.pid(+) AND s.attribute != 'Internal' AND s.resource_pool != 'root' GROUP BY 1;
查询结果如下:


7月7日,华为开发者大会2023 ( Cloud )将拉开帷幕,并将在国内30多个城市、海外10多个国家开设分会场,诚邀您参加这场不容错过的年度开发者盛会,让我们一起开启探索之旅!
我们将携手开发者、客户、合作伙伴,为您呈现华为云系列产品服务与丰富的创新实践,并与您探讨AI、大数据、数据库、PaaS、aPaaS、媒体服务、云原生、安全、物联网、区块链、开源等技术话题,展开全面深入的交流。
大会将汇聚全球科学家、行业领袖、技术专家、社区大咖,开设200多场开发者专题活动,为全球开发者提供面对面交流与合作的机会,共同探讨技术创新和业务发展。
大会官网:https://developer.huaweicloud.com/HDC.Cloud2023.html
参会购票:https://www.vmall.com/product/10086352254099.html?cid= 211761
点击参与开发者社区活动,观赏技术大咖秀、玩转技术梦工厂,有机会赢取4000元开发者礼包!
欢迎关注“华为云开发者联盟”公众号,获取大会议程、精彩活动和前沿干货。
2种GaussDB(DWS)查看作业运行信息方式的更多相关文章
- T-SQL语句查看作业等信息
因服务器需要迁移,需要将现有JOB迁移至新服务器,待服务器调整完毕,则重新迁移到原服务器,所以在做迁移之前希望将现有JOB进行备份,不至于乱了执行时间.1.查看所有作业列表USE master SEL ...
- 一文详解GaussDB(DWS) 的并发管控和内存管控
摘要:DWS的负载管理分为两层,第一层为cn的全局并发控制,第二层为资源池级别的并发控制. 本文分享自华为云社区<GaussDB(DWS) 并发管控&内存管控>,作者: fight ...
- windows上用命令行我们查看机器cpu信息(使用计算器-程序员模式-四字时,查看系统类型)
查看系统是64位还是32位 C:\Users\qingshuic>wmic os get osarchitecture OSArchitecture 64-bitC:\Users\qingshu ...
- GaussDB(DWS)应用实践丨负载管理与作业排队处理方法
摘要:本文用来总结一些GaussDB(DWS)在实际应用过程中,可能出现的各种作业排队的情况,以及出现排队时,我们应该怎么去判断是否正常,调整一些参数,让资源分配与负载管理更符合当前的业务:或者在作业 ...
- HDFS设计思路,HDFS使用,查看集群状态,HDFS,HDFS上传文件,HDFS下载文件,yarn web管理界面信息查看,运行一个mapreduce程序,mapreduce的demo
26 集群使用初步 HDFS的设计思路 l 设计思想 分而治之:将大文件.大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析: l 在大数据系统中作用: 为各类分布式 ...
- 几种系统下查看FC HBA卡信息的方法
几种系统下查看FC HBA卡信息的方法 目 录 几种系统下查看FC HBA卡信息的方法 FC HBA卡概述 Windows系统下查看FC HBA卡的信息 Linux系统下查看FC HBA卡的信息 U ...
- 详解GaussDB(DWS) explain分布式执行计划
摘要:本文主要介绍如何详细解读GaussDB(DWS)产生的分布式执行计划,从计划中发现性能调优点. 前言 执行计划(又称解释计划)是数据库执行SQL语句的具体步骤,例如通过索引还是全表扫描访问表中的 ...
- 从数据仓库双集群系统模式探讨,看GaussDB(DWS)的容灾设计
摘要:本文主要是探讨OLAP关系型数据库框架的数据仓库平台如何设计双集群系统,即增强系统高可用的保障水准,然后讨论一下GaussDB(DWS)的容灾应该如何设计. 当前社会.企业运行当中,大数据分析. ...
- Spark源码系列(三)作业运行过程
作业执行 上一章讲了RDD的转换,但是没讲作业的运行,它和Driver Program的关系是啥,和RDD的关系是啥? 官方给的例子里面,一执行collect方法就能出结果,那我们就从collect开 ...
- 十八般武艺玩转GaussDB(DWS)性能调优:路径干预
摘要:路径生成是表关联方式确定的主要阶段,本文介绍了几个影响路径生成的要素:cost_param, scan方式,join方式,stream方式,并从原理上分析如何干预路径的生成. 一.cost模型选 ...
随机推荐
- Python+SVM
# !/usr/bin/env python # encoding: utf-8 # SVM算法 支持向量机 from sklearn import svm import numpy as np fr ...
- 自学一周python做的一个小游戏《大球吃小球》
需求 1,显示一个窗口. 2,我们要做到的功能有鼠标点击屏幕生成小球. 3,生成的小球大小随机,颜色随机,向随机方向移动,速度也随机. 4,大的球碰到小球时可以吃掉小球,吃掉后会变大. 5,球碰到边界 ...
- vue中数字和字符串的转换问题(v-bind和v-model的使用)
可以看到上面自增加时,成了拼接字符串的效果. 打开vue工具查看: 此时n和sum都是数字,可以正常自增加,但是操作了section之后,n就变成了字符串: 此时再执行自增加,sum也会变成字符串形式 ...
- 分享我对DiscuzQ这款现代化开源轻社区的二次开发成果。DiscuzQ依然是站长的最佳选择!
简要说一下二开的功能:贴文列表样式优化.增加国内 AI 大模型功能.增加社区 AI 助手(会自动发帖和回帖).编辑器功能优化.pc 端导航优化.h5 端导航优化.修复各种加载不出来加载缓慢的问题等等细 ...
- Kotlin协程系列(一)
一.协程的定义 最近看了一本有关kotlin协程的书籍,对协程又有了不一样的了解,所以准备写一个关于kotlin协程系列的文章. 言归正传,我们在学习一个新东西的时候,如果连这个东西"是什么 ...
- 发现AI自我意识:不期而遇的局部技术奇点
Q*的启示 之前的文章里提到过,人工智能思维能力创造的必不可少的条件是状态空间的搜索.今天的大新闻里,我们都看到了Q*的确使用了搜索算法.所以今天我会稍微谈一下这个话题. 主要思想就是人工智能的进一步 ...
- Java核心知识体系7:线程安全性讨论
Java核心知识体系1:泛型机制详解 Java核心知识体系2:注解机制详解 Java核心知识体系3:异常机制详解 Java核心知识体系4:AOP原理和切面应用 Java核心知识体系5:反射机制详解 J ...
- AntDesignBlazor示例——创建列表页
本示例是AntDesign Blazor的入门示例,在学习的同时分享出来,以供新手参考. 示例代码仓库:https://gitee.com/known/AntDesignDemo 1. 学习目标 使用 ...
- # [AI]多模态聚类能力助力AI完成自主意识测试
引言 探讨人工智能是否能形成自我意识,是一个当前AI领域一个重要而又复杂的问题.随着深度学习和强化学习技术的不断进步,计算机在视觉识别.语音识别和控制机器人等方面都已取得长足的进展,模拟和超越人类的一 ...
- 稳了,终于可以通过外网访问 Sealos 中的数据库了!
喜大普奔,Sealos 中的数据库功能现已全面升级,支持外网访问! 现在你可以从互联网的任何地方访问 Sealos 中的数据库,无论您的应用部署在何种环境,现在都可以轻松通过外网连接到 Sealos ...