openGauss的WDR报告解读

news2025/2/4 10:46:55

文章目录

  • 1.执行以下SQL命令,查询已经生成的快照信息。
  • 2.生成WDR报告。
  • 3.手工创建快照信息
  • 4.WDR涉及的数据表
  • 5.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报告概况信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
作者:怕晒的太阳
🍒如果您觉得博主的文章还不错或者有帮助的话,请关注一下博主,如果三连点赞评论收藏就更好啦!谢谢各位大佬给予的支持!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/103470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

海量数据小内存!只出现两次的数以及中位数怎么找

文章目录题目一题目二实际上类似的题目类似的解法在之前已经有介绍过海量数据小内存!如何找到高频数 海量数据小内存!从未出现过的数在哪里 题目一 如何在 40 亿个无符号整数中找到出现次数只有两次的那些数,在只提供 1 G 内存的条件下 解…

Map集合概述、API 遍历方式(键值对集合)

注意: Map集合和Collection集合是两个不同类型的集合 Map集合体系特点: 常用API: 根据键找出值: map.get(key); 取所有键的集合和取所有值得集合: 因为key是无序不重复无索引,所以放入set集合&#xff…

锂电池电压和电量的关系

锂电池电压和电量之间,有一定的对应关系,通过对开路电压的测量,可以大致得出电池的剩余电量。不过用电压测量电量的方式有一定的不稳定性,例如放电电流、环境温度、循环、放电平台、电极材料等,都会给最后结果的准确与否带来影响。 电压和电量的对应关系是: 100%----4.…

【算法】常用查找算法(顺序查找、二分查找、插值查找、斐波那契查找)

目录查找算法1.线性(顺序)查找(1)思路(2)代码实现(java)2.二分(折半)查找(1)思路(2)代码实现(java)3.插值查找(1)思路(2)代码实现(java)4.斐波那契(黄金分割法)查找(1)思路(2)代码实现(java)查找算法 1.线性(顺序)查找 (1)思路 判断序列中是否包含某个元素,找到提…

Vue3引入Lottie动画以及遇到的坑

之所以写这个问题是因为原本我认为非常小的一件事却困扰了我一整天,所以我打算写一个博客记录一番。 国外动画网址:Lottie 将来用到的lottie组件库网址: Vue3-lottie 我目前用的第二个: Vue3-lottiejs 1. 我在引入Lottie的时…

【Python机器学习】决策树与随机森林的讲解及决策树在决策决策问题中实战(图文解释 附源码)

需要源码请点赞关注收藏后评论区留言私信~~~ 在生活中人们经常应用决策树的思想来做决定 分类的建模过程与上面做决定的过程相反,事先不知道人们的决策思路,需要通过人们已经做出的大量决定来“揣摩”出其决策思路,也就是通过大量数据来归纳道…

嵌入式分享合集124

一、19个常用的5V转3.3V技巧 01 使用LDO稳压器 标准三端线性稳压器的压差通常是 2.0-3.0V。要把 5V 可靠地转换为 3.3V,就不能使用它们。压差为几百个毫伏的低压降 (Low Dropout, LDO)稳压器,是此类应用的理想选择。图…

常见的CSS布局方法

常见的CSS布局方法 「1. 单栏布局」 常见的单列布局有两种: header,content 和 footer 等宽的单列布局header 与 footer 等宽,content 略窄的单列布局header,content 和 footer 等宽的单列布局 ​ 先通过对 header,content,footer 统一设置 width:1000px;或者 max-width:1…

DHCP报文

一. 介绍 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,统一使用两个IANA分配的端口:67(服务器端),68&#xff…

Django学习Day5

由于前两天核酸阳的,一直发烧,故没有学习,csdn也没有进行更新。今天身体基本恢复,继续Django的学习旅程。也希望各位读者重视个人的身体健康,做好自己健康的第一负责人。 1.关于针对模型类的数据库修改方法补充 在mo…

二苯基环辛炔-氨基;DBCO-NH2科研实验用试剂DBCO-Amine;CAS:1255942-06-3

英文名称:DBCO-Amine DBCO-NH2 中文名称:二苯基环辛炔-氨基 CAS:1255942-06-3 分子式:C18H16N2 分子量:276.3 外观:固体粉末 溶剂:溶于 DMSO, DMF, DCM, THF, Chloroform 储存条件&…

什么是容器安全性,您如何提升自己的安全性?

容器无疑已成为部署应用程序的流行方式。这很棒,因为与部署到虚拟机相比,它们具有大量优势。其中一些优点包括便携、不可变和轻量级。您可以控制运行服务的容器内部的内容,这可以产生清晰、可审计的跟踪。 对于安全专业人员来说,…

模型复杂度与硬件性能的衡量

1. 模型复杂度的衡量 参数数量(Params):指模型含有多少参数,直接决定模型的大小,也影响推断时对内存的占用量 单位通常为 M,通常参数用 float32 表示,所以模型大小是参数数量的 4 倍左右参数数…

数据结构C语言版 —— 树和二叉树的概念

树和二叉树 一、树 1. 树的概念 树(Tree)是n(n>0)n(n>0)n(n>0)个节点的有限集,在任意一颗非空树中: (1) 有且仅有一个特定的称为根(Root)的节点,根节点是没有前驱节点的。 (2)当 n>1n > 1n>1时…

_11LeetCode代码随想录算法训练营第十一天-C++队列的应用

_11LeetCode代码随想录算法训练营第十一天-C队列的应用 239.滑动窗口最大值347.前K个高频元素 239.滑动窗口最大值 整体思路 要实现一个单调递减队列: 对于滑动窗口的滑动,移除前面的元素,加入后面的元素。当移除前面的元素时&#xff0…

监控物联网卡该如何选择,你都踩过哪些坑?

不知道大家有没有发现在自己的身边不知不觉多了很多新玩意,例如智能自动售货机、共享单车、智能监控设备等,它们让大家的生活变得越来越方便,那么大家知道它们为什么能起到这么大的作用吗,其实得得益于一个叫做物联网卡的东西。前…

通过kubeode安装k8s

文章目录通过kubeode安装k8s1、准备vmdk文件2、创建虚拟机3、进入虚拟机4、配置yum源5、清理6、 增加node服务器7、修改Ip8、下载下载通道01 走普通家庭宽带下载点下载通道02 走群友无私赞助电信机房专线服务器--高速稳定下载----强烈推荐下载并解压9、一键安装通过kubeode安装…

字符串函数剖析(1)

带你玩转字符串 1.strlen函数不一样的细节 1.1模拟实现strlen函数 2.strcpy函数的巧妙 2.2strcpy的模拟实现 3.strcmp函数的巧妙 3.2strcmp的模拟实现 详解strlen的细节 首先了解strlen 函数的参数 size_t strlen ( const char * str );size_t 是什么东西呢&#xff1f…

链表-------数据结构

链表(重点): 链表是物理存储结构上面非连续的存储结构,数据元素的逻辑顺序是通过链表中的引用链接次序实现的 1)在顺序表中,我们不光引入了一段连续的内存,还引入了一块连续的内存空间,叫做usedsize,来表示对应数组中…

PMP每年考几次,费用如何?

PMP每年考四次,整个考证一次通关大致需要 7000 元左右,主要是下面几项费用: 部分学习笔记: 一、考证费用 分为基础费用报班费用 基础费用:报名费续证费用(补考费 / 退考费) 报名费 3900 元是固…