[转帖]3.3.8. KWR运行期对比报告 KWR DIFF

kwr,运行,对比,报告,diff · 浏览次数 : 0

小编点评

**Diff 报告结构** * **报告头** * 数据库实例信息 * 启动时间 * 版本信息 * 两份KWR报告的快照信息 * **报告主体** * 时间模型和等待事件统计 * 内存统计 * 实例IO统计 * 锁活动统计 *关键活动统计 * TOP SQL统计 * 后台写统计 * 数据库统计 * 数据库对象统计 * 配置参数 **报告内容** * **报告头** * 数据库实例信息 * 启动时间 * 版本信息 * 两份KWR报告的快照信息 * **报告主体** * **时间模型和等待事件统计** * 两份KWR报告中等待事件统计的对比 * **内存统计** * 两份KWR报告中内存统计的对比 * **实例IO统计** * 两份KWR报告中实例IO统计的对比 * **锁活动统计** * 两份KWR报告中锁活动统计的对比 * **关键活动统计** * 两份KWR报告中关键活动统计的对比 * **TOP SQL统计** * 两份KWR报告中TOP SQL统计的对比 * **后台写统计** * 两份KWR报告中后台写统计的对比 * **数据库统计** * 两份KWR报告中数据库统计的对比 * **数据库对象统计** * 两份KWR报告中数据库对象统计的对比 * **配置参数** * 两份KWR报告中配置参数的对比 **查看差异报告** * **3.3.8.4.1。报告结构**:查看报告结构以了解各部分的含义。 * **3.3.8.4.2。报告内容**:深入分析报告内容,了解不同时间点和指标之间的差异。

正文

 https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-ksh

KWR报告是Diff报告的基础,在数据库运行过程中,通常在业务的高峰期和低谷期,或者在参数调整之后,数据库的性能指标都会发生变化,那么分析这种变化的根因对于我们分析数据库性能,进行优化调整是非常必要的。Diff报告的作用就是分析两个KWR报告之间的差异,找出性能变化的原因或分析性能优化的效果。

Diff 报告仅支持 HTML 格式输出。

3.3.8.1. 快速生成 Diff 报告 

通过 KWR 自动快照或者手动快照创建一系列 KWR 快照,然后就可以通过 perf.kwr_diff_report_to_file({snap_1}, {snap_2}, {snap_3}, {snap_4}, {file_path}) 来创建 Diff 报告:

参数说明:

  • snap_1: 生成第一份KWR报告的起始快照ID

  • snap_2: 生成第一份KWR报告的结束快照ID

  • snap_3: 生成第二份KWR报告的起始快照ID

  • snap_4: 生成第二份KWR报告的结束快照ID

  • file_path: 报告生成地址,示例:’/home/username/kwr_diff_report.html’

CREATE EXTENSION sys_kwr;
SELECT * FROM perf.create_snapshot();
CREATE TABLE t1(a int);
INSERT INTO t1 SELECT generate_series(1, 1000000);
SELECT * FROM perf.create_snapshot();
INSERT INTO t1 SELECT generate_series(1, 1000000);
SELECT * FROM perf.create_snapshot();
INSERT INTO t1 SELECT generate_series(1, 1000000);
SELECT * FROM perf.create_snapshot();
SELECT * FROM perf.kwr_diff_report_to_file(1, 2, 3, 4, '/home/test/kwr_diff_rpt_00.html');

3.3.8.2. GUC 参数说明 

KWR Diff 报告属于KWR的一个子模块,继承KWR的现有GUC参数。具体内容请参考SYS_KWR小节中关于配置GUC参数的说明。

3.3.8.3. 用户接口说明 

生成Diff报告的接口有两个:

perf.kwr_diff_report_to_file({snap_1}, {snap_2}, {snap_3}, {snap_4}, {file_path}) 该接口在用户指定的目录下生成Diff报告。

perf.kwr_diff_report({snap_1}, {snap_2}, {snap_3}, {snap_4}) 该接口在默认的数据目录下的sys_log目录中生成Diff报告,同时在ksql中生成在线报告。如果sys_log目录不存在,那么仅生成一份在线报告。 默认报告的命名格式为:kwr_diff_1_2_3_4_20220531_140633.html,即前缀kwr_diff_4个快照ID_年月日_时分秒.html。

3.3.8.4. 查看Diff报告 

3.3.8.4.1. 报告结构 

Diff报告主要由三部分组成:

1、报告头:

这部分主要是列出数据库实例的版本、两份KWR报告的快照信息。

2、报告摘要:

这部分的主要报告是:主机配置、负载分析、实例效率百分比(目标 100%)、Top 10前台等待事件、Top 10前台等待事件分类、主机IO、IO分析、内存统计以及SQL语句数统计。

3、报告主体:

报告主体提供了更加全面的性能指标对比信息,主要包括:时间模型和等待事件统计、内存统计、实例IO统计、锁活动统计、关键活动统计、TOP SQL统计、后台写统计、数据库统计、数据库对象统计和配置参数。

3.3.8.4.2. 报告内容 

Diff报告内容在统计数据方面与原始KWR报告一致,同时提供了对比信息。下面举几个例子简要说明报告数据的查看方法,其它报告相同。

在Diff报告中,1st 表示第一份KWR报告的统计数据,2nd 表示第二份KWR报告的统计数据,Diff 表示两份报告统计量的差值, % Diff 表示第二份报告相比第一份报告统计量的变化百分比。

在报告头中,显示了数据库实例信息,启动时间,版本信息以及两份KWR报告的快照信息,并显示了快照时长和数据库时间的%Diff。

../../_images/performance-optimization-image11.png

在Top 10 前台等待事件和Top 10 前台等待事件分类这两个diff报告中,为了方便对比,查看两份KWR报告中等待事件的变化情况,分成左右两部分进行了展示。如果某个事件仅在一份KWR报告中出现,那么在另一份KWR报告中用 '-' 表示。

../../_images/performance-optimization-image12.png

在时间模型统计报告中,按“% 数据库时间”的Diff排序对两份KWR报告进行了对比。

../../_images/performance-optimization-image13.png

在按数据库时间排序的 SQL 语句报告中,从平均时间(ms)、总占比(%)、CPU占比(%)、等待占比(%)这四个方面对比了两份KWR报告中的SQL语句。点击Query Hash列可以跳转到完整SQL列表的对应的SQL语句上。

../../_images/performance-optimization-image14.png

与[转帖]3.3.8. KWR运行期对比报告 KWR DIFF相似的内容:

[转帖]3.3.8. KWR运行期对比报告 KWR DIFF

https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-ksh KWR报告是Diff报告的基础,在数据库运行过程中,通常在业务的高峰期和低谷期,或者在参数调

[转帖]CentOS-7-x86_64-DVD-2009 rpm包列表(centos7.9)

https://www.cnblogs.com/hiyang/p/14803391.html 文件数 4071 个,共3.8G 复制389-ds-base-1.3.10.2-6.el7.x86_64.rpm 389-ds-base-libs-1.3.10.2-6.el7.x86_64.rpm Cen

[转帖]Prometheus+Grafana+rabbitmq_prometheus 监控 RabbitMQ

https://www.zhangbj.com/p/1065.html 关于 rabbitmq_prometheus rabbitmq_prometheus是RabbitMQ 3.8.0默认集成的监控插件。 相关文档 https://www.rabbitmq.com/monitoring.html

[转帖]宋宝华:用eBPF/bcc分析系统性能的一个简单案例

原创 宋宝华 Linux阅码场 3月8日 bcc是eBPF的一种前端,当然这个前端特别地简单好用。可以直接在python里面嵌入通过C语言写的BPF程序,并帮忙产生BPF bytecode和load进入kernel挂载kprobe、tracepoints等上面执行。之后,还可以从python取出来C

[转帖]TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况(2021版)

TLSv1.3 Support:主流 Web 客户端和服务端对 TLSv1.3 的支持情况(2021版) https://sysin.org/blog/tlsv1-3-support/ 2021 年 8 月发布的 Windows Server 2022 正式支持 QUIC 和 TLS 1.3 相关特

[转帖]openGauss 3.0 单节点安装部署

https://www.modb.pro/db/568455?utm_source=index_ori openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管

[转帖]openGauss 3.0 单节点安装部署

https://cdn.modb.pro/db/568455 openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管理模块:提供日常运维、配置管理接口,工具在

[转帖]openGauss 3.0 单节点安装部署

https://cdn.modb.pro/db/568455 openGauss来源于PostgreSQL 9.2.4pg使用c实现,gs使用c++实现一个实例多个库 单机HA不是支持一主一备,提供高可靠和读扩展,备机最多8套。 主备部署模块说明:OM运维管理模块:提供日常运维、配置管理接口,工具在

[转帖]SpringBoot 3.0最低版本要求的JDK 17,这几个新特性不能不知道!

2022-02-27 分类:Java 阅读(1872) 评论(0) GitHub 24k Star 的Java工程师成神之路,不来了解一下吗! 最近,有很多人再传说 SpringBoot要出3.0的版本了,并且宣布不再支持 Java 8,最低要求是 Java 17了。 其实,早在2021年9月份,关

[转帖]skywalking配置nacos集群模式

版本: nameversionnacos1.1.0skywalking6.2.0elasticsearch6.3.2 es集群管理工具 cerebro-0.8.3 https://github.com/lmenezes/cerebro 前置: es、nacos至少各有一个 1 开始: 1.将 apa