2种GaussDB(DWS)查看作业运行信息方式

gaussdb,dws,查看,作业,运行,信息,方式 · 浏览次数 : 27

小编点评

## Summary of the text: This document provides a detailed view of running jobs and queuing processes in a Huawei Cloud Data Service (DWS) cluster. It offers the following information: * **Active Sessions:** Shows the number of active sessions and the total number of running and pending jobs. * **User Information:** Provides details about the submitting user, resource pool, and query information for each active session. * **Resource Pool Information:** Shows the total number of tasks submitted, the number of tasks in progress, and the number of tasks finished and waiting. * **Resource Pool Distribution:** Provides the total number of tasks submitted and the number of tasks running on each resource pool. **Key Points:** * This view is helpful for monitoring the overall health and performance of the cluster. * It can be used to diagnose issues with job submissions, running times, and resource utilization. * Detailed user information provides insights into individual contributors and their performance. * The view provides valuable data for optimizing resource allocation and improving system performance. **Overall, this document offers a comprehensive understanding of job and queue management within a DWS cluster.**

正文

摘要:提供以作业基本单位的作业统计视图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)查看作业运行信息方式相似的内容:

2种GaussDB(DWS)查看作业运行信息方式

摘要:提供以作业基本单位的作业统计视图pgxc_session_wlmstat,便于用户观察运行作业和排队作业信息。 本文分享自华为云社区《GaussDB(DWS)如何查看作业运行信息》,作者:幕后小黑爪。 用户反馈,出现连接数告警,作业并发数高,超过资源池限制,与实际配置不符。经过了解,用户使用p

[转帖]服务器体系(SMP, NUMA, MPP)与共享存储器架构(UMA和NUMA)

1 3种系统架构与2种存储器共享方式 1.1 架构概述 从系统架构来看,目前的商用服务器大体可以分为三类 对称多处理器结构(SMP:Symmetric Multi-Processor) 非一致存储访问结构(NUMA:Non-Uniform Memory Access) 海量并行处理结构(MPP:Ma

教你2种方法,将iOS设备通过MQTT协议连接到华为云物联网平台

本文讲述如何使用Flutter和Swift两种开发语言连接到华为云物联网平台。

cookie时效无限延长方案

自动化测试有2种形式,接口自动化和UI自动化。而UI自动化经常会被登录节点堵塞,例如验证码、图形、滑块等,尽管有些方式可以识别图形和定位滑块位置,但成功率都不高,无法真正意义上实现自动化执行;而http接口的自动化测试前置如果依赖cookie,也无法实现自动化执行。

[转帖]Linux——Shell脚本参数传递的2种方法

https://www.cnblogs.com/caoweixiong/p/12334418.html 前言 平时会遇到很多脚本都有参数选项,类似: ./test.sh -f config.conf -v --prefix=/home 这种脚本怎么写呢? 一、Shell 特殊参数解释 首先来看几个特

iOS 屏幕旋转的设置方法

VC上屏幕旋转的方式有2种 1.因重力导致的屏幕旋转 条件:shouldAutorotate返回true,设备开启了屏幕旋转开关。 设备发生重力旋转。 2.单页面强制旋转 条件:无。 设置设备旋转方向。 NSNumber *orientationTarget = [NSNumber numberWi

iOS测试包的安装方法

iOS测试包根据要安装的机器类型可以分为2种: .app模拟器测试包 .ipa真机测试包 .app模拟器测试包的安装方式 方式一:Xcode生成安装包 1.Xcode运行项目,生成app包 2.将APP包拖到模拟器中 方式二:IPA包下载得到安装包 1.将ipa包的后缀改成.zip, 然后解压 2.

iOS网络数据指标收集

在平时开发中有时候需要收集网络不同阶段性能数据来分析网络情况,下面总结了2种收集方式。 1.通过NSURLSession提供的代理方法收集 2.通过NSURLProtocol做统一网络请求拦截收集 通过NSURLSession提供的代理方法收集 当NSURLSessionTask完成并返回响应时,N

[转帖]【技术剖析】8. 相同版本 JVM 和 Java 应用,在 x86 和AArch64 平台性能相差30%,何故?

https://bbs.huaweicloud.com/forum/thread-168532-1-1.html 作者: 吴言 > 编者按:目前许多公司同时使用 x86 和 AArch64 2 种主流的服务器。这两种环境的算力相当,内存相同的情况下:相同版本的 JVM 和 Java 应用,相同的 J

Libgdx游戏开发(4)——显示中文文字

原文: Libgdx游戏开发(4)——显示中文文字-Stars-One的杂货小窝 本文代码示例采用kotlin代码进行讲解,且需要有libgdx入门基础 这里主要介绍关于在Libgdx显示文字的2种方法 2种方法优缺点 BitmapFont 优势: 易于操作和使用,简单快速实现文本渲染。 资源消耗相