[转帖]openGauss的WDR报告解读

opengauss,wdr,报告,解读 · 浏览次数 : 0

小编点评

**1. 执行 SQL 命令查询快照信息** ```sql select * from snapshot.snapshot; ``` **2. 生成 WDR 报告** ```sql -- 节点级别 wdr 报告 select generate_wdr_report(127,128,‘all’,‘node’,‘dn_6001’); -- 汇总数据 select generate_wdr_report(begin_snap_id bigint, end_snap_id bigint, report_type cstring, report_scope cstring, node_name cstring); ``` **3. 手动创建快照信息** * 如果开启 WDR 报表的参数 `enable_wdr_snapshot` 为 `on`,则可以手动创建 WDR 快照信息。 * 创建快照时可以指定开始和结束时间段。 * 创建完快照后,可以使用 `generate_wdr_report` 函数生成 WDR 报告。 **4. WDR 涉及的数据表** * WDR 数据表位于 `snapshot` schema 中的 `snap_` 开头的表中。 * 包含以下主要视图: * `dbe_perf`:性能指标视图 * `pgxc_node_name`:节点名称视图 **5. WDR 报告解读** * WDR 报告包含以下重要指标: * **资源消耗:** CPU 使用率、内存使用率等。 * **等待事件:** 等待等待的连接数量。 * **TOPSQL:** CPU 使用率的最大值。 * **参数设置:** WDR 运行参数设置。

正文


在Oralce数据库中,遇到性能问题,我们通常会查看有无对应时间段的快照,生成awr报告并进一步分析(AWR是Automatic Workload Repository的简称,中文叫着自动工作量资料档案库。是Oracle数据库用于收集、管理和维护数据库整个运行期间和性能相关统计数据的存储仓库,是Oracle数据库性能调整和优化的基础。awr收集到的数据会被定期保存到磁盘,可以从数据字典查询以及生成性能报告。)。AWR报告整个数据库在运行期间的现状或者说真实状态只有在被完整记录下来,才是可查,可知,可比较,可推测或者说为未来性能优化调整提供支撑建议的基础。

opengauss数据库中,也有着这样的“awr”,它叫做——wdr。WDR是(Workload Diagnosis Report)负载诊断报告,是openGauss的工作负载诊断报告,常用于判断openGauss长期性能问题。

前提:

生成WDR报告的前提条件是,打开参数enable_wdr_snapshot。确认当前已按照的openGauss数据库是否打开WDR报告的参数,需要通过下图登录数据库进行查询。enable_wdr_snapshot的值为on表示打开,off表示关闭
在这里插入图片描述
以下介绍WDR报告的参数:

在这里插入图片描述
操作步骤:

1.执行以下SQL命令,查询已经生成的快照信息。

select * from snapshot.snapshot;

snapshot.snapshot 【记录当前系统中存储的WDR快照信息】

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.生成WDR报告。

执行如下步骤,生成节点node级别wdr报告。
1)查询 pgxc_node_name参数值,或者使用查询视图:pg_node_env。

在这里插入图片描述
在这里插入图片描述
2) \a \t \o 服务器文件路径生成格式化性能报告

\a \t \o /home/opengauss/wdrTest.html
在这里插入图片描述
上述命令涉及参数说明如下:

\a:切换非对齐模式。
\t:切换输出的字段名的信息和行计数脚注。
\o:把所有的查询结果发送至服务器文件里。
服务器文件路径:生成性能报告文件存放路径。用户需要拥有此路径的读写权限。

如果不退出当前登录gsql客户端,进行执行其他SQL,关闭格式化输出命令:

\o \a \t

3)向性能报告wdrTest.html中写入数据,从snapshot.snapshot视图中选取要生成WDR报告的时间点。例如:127和128两个时间点。

gsql -d postgres -p 6000 -r -c"select generate_wdr_report(快照id1,快照id2,‘all’,‘node’,‘pgxc_node_name参数值’);"

select generate_wdr_report(127,128,‘all’,‘node’,‘dn_6001’);

函数说明:generate_wdr_report

语法
select generate_wdr_report(begin_snap_id bigint, end_snap_id bigint, report_type cstring, report_scope cstring, node_name cstring);
选项:
begin_snap_id:查询时间段开始的snapshot的id(表snapshot.snaoshot中的snapshot_id)
end_snap_id: 查询时间段结束snapshot的id。默认end_snap_id大于begin_snap_id(表snapshot.snaoshot中的snapshot_id)
report_type: 指定生成report的类型。例如,summary/detail/all,其中:summary[汇总数据]/detail[明细数据]/all[包含summary和detail]
report_scope: 指定生成report的范围,可以为cluster或者node,其中:cluster是数据库级别的信息,node是节点级别的信息。
node_name: 当report_scope指定为node时,需要把该参数指定为对应节点的名称。当report_scope为cluster时,该值可以省略或者指定为空或NULL。node[节点名称]、cluster[省略/空/NULL]
在这里插入图片描述
4)目录下生成对应的wdr报告,cd /home/opegauss生成报告的指定路径进行查看。
在这里插入图片描述

3.手工创建快照信息

当在openGauss数据库执行性能测试,数据库默认每小时自动执行一次snapshot操作。生成指定时间段内的WDR报告,查询快照视图后选取指定开始时间的快照id,结束时间的快照id。通过函数generate_wdr_report生成wdr报告。但是有些情况,固定时间段的WDR报告,就需要使用具有sysadmin权限用户手工创建快照信息,需要执行两次。具体操作步骤如下:

1)首先确认一下,当前的快照信息视图snapshot.snapshot中的时间节点。
在这里插入图片描述
2)执行函数create_wdr_snapshot()创建快照

手工创建wdr报告快照执行语句:

select create_wdr_snapshot();

在这里插入图片描述

3)等待10分钟以后再次执行函数create_wdr_snapshot(),手工创建结束快照。
在这里插入图片描述
4)执行操作步骤第二步:生成WDR报告,执行如下图步骤,生成节点node级别wdr报告(其中dn_6001客户端gsql登录数据show pgxc_node_name查询的结果)。
在这里插入图片描述
在这里插入图片描述

4.WDR涉及的数据表

说明:WDR的数据表保存在snapshot这个schema下以snap_开头的表,其数据来源于dbe_perf这个schema内的视图,总共61张视图。
在这里插入图片描述

在这里插入图片描述

5.WDR报告解读

说明:为了使得WDR报告内容不空洞,本次在测试环境使用BenchmarkSQL5.0对openGauss数据库进行100warehouse,100并发压力测试。 本次的WDR报告样例来自于此时手工创建的快照数据。

手工生成WDR报告后,通过浏览器查看。opengauss的wdr报告类似于oracle的awr,拥有资源消耗、等待事件、TOPSQL,以及参数设置等。

1)下图是执行前tpcc表信息:
在这里插入图片描述

2)以下是手工创建的快照开始时间点:
在这里插入图片描述
3)开始执行benchmarksql,运行10分钟完成后。手工再次生成wdr报告的结束快照。

在这里插入图片描述
4)生成wdr报告如下图:

在这里插入图片描述
5)以下是解读WDR报告

开头介绍了一下当前wdr报告概况信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
作者:怕晒的太阳
🍒如果您觉得博主的文章还不错或者有帮助的话,请关注一下博主,如果三连点赞评论收藏就更好啦!谢谢各位大佬给予的支持!

文章知识点与官方知识档案匹配,可进一步学习相关知识
CSDN松鼠交流群,备注CSDN
微信名片

与[转帖]openGauss的WDR报告解读相似的内容:

[转帖]openGauss的WDR报告解读

文章目录 1.执行以下SQL命令,查询已经生成的快照信息。2.生成WDR报告。3.手工创建快照信息4.WDR涉及的数据表5.WDR报告解读 在Oralce数据库中,遇到性能问题,我们通常会查看有无对应时间段的快照,生成awr报告并进一步分析(AWR是Automatic Workload Reposi

[转帖]openGauss每日一练第 5 天 |学习openGauss创建用户、修改用户属性、更改用户权限和删除用户

https://www.modb.pro/db/199037 自己安装的openGauss环境启动openGaussgs_ctl -D /gauss/data/db1/ start登录openGaussgsql -d postgres -p 26000 -r 1.创建用户user1、user2和us

[转帖]openGauss安全认证-服务端认证方法

https://www.modb.pro/db/208481 openGauss安全认证的认证方法在HBA文件中由数据库运维人员配置,支持的认证方法包括trust认证、口令认证和cert认证。 1. trust认证 trust认证意味着采用当前认证模式时,openGauss无条件接受连接请求,且访问

[转帖]OpenEuler随安装盘带的openGauss的简单使用

OpenEuler随安装盘带的openGauss的简单使用 背景 OpenGauss数据库分为多种. 随着OpenGauss操作系统也带了一个单机版的OpenGauss数据库 虽然不是集群版本的. 但是本着学习的态度还是想研究一下. 注意这里仅简单描述一下使用, 非常不全面 安装 OpenEuler

[转帖]一文读懂GaussDB(openGauss) 的六大关键技术特性

https://www.314idc.com/article/5238906720560318 发布日期:2022-07-29 07:43:22 浏览量 :254 GaussDB(openGauss)是深度融合华为在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式数据库,支持集中式

[转帖]openGauss安全

https://cdn.modb.pro/db/585069 随着数字化技术的飞速发展,数字、连接、信号、人工智能充斥着人们工作、生活的各个领域。这些数字化信息被快速转换成数据并存放在各式各样的数据库系统中,而且通过进一步的数据管理与分析产生商业价值。这些有价值的数据或被存放在企业相对封闭的私有网络

[转帖]openGauss与PostgreSQL对比测试SSL之自签名CA证书单向认证测试

https://zhuanlan.zhihu.com/p/367697233 本文测试自签名CA证书的单向认证: 客户端只验证服务器证书的有效性,而服务器端不验证客户端证书的有效性。服务器加载证书信息并发送给客户端,客户端使用根证书来验证服务器端证书的有效性。 服务端证书的客户端认证模式 客户端SS

[转帖]openGauss 安全认证

https://cdn.modb.pro/db/179816 openGauss数据库是一款标准的基于客户端/服务端(C/S)模式工作的数据库系统,每一个完整的会话连接都由后台服务进程和客户端进程组成。一个完整的客户端认证过程如图所示。 openGauss认证详细流程 (1) 客户端依据用户需求配置

[转帖]Data studio普通用户采用非SSL的方式连接openGauss

https://cdn.modb.pro/db/43087 关闭SSL认证由于openGauss默认开启SSL认证,且配置认证较为麻烦,个人开发测试并不需要它。因此关闭openGauss的远程用户登录SSL认证模式。1.找到postgresql.conf cd /gaussdb/data/openG

[转帖]Centos 7 部署 openGauss 3.1.0 级联备库集群及集群缩容删除节点-运维指南

https://www.yisu.com/zixun/kf/ 一、安装环境设置 1.1 硬件环境 名称最低配置建议配置测试配置 服务器数量 3 略 略 硬盘 * 至少1GB用于安装openGauss的应用程序。* 每个主机需大约300MB用于元数据存储。* 预留70%以上的磁盘剩余空间用于数据存储。