openGauss/MogDB WDR报告详解

21 篇文章 2 订阅
15 篇文章 0 订阅

摘要

WDR(Workload Diagnosis Report)负载诊断报告,是openGauss的工作负载诊断报告,常用于判断openGauss长期性能问题。WDR报告基于两次不同时间点系统的性能快照数据,生成这两个时间点之间的性能表现报表。

开启WDR快照

参数简介

enable_wdr_snapshot

参数说明: 是否开启数据库监控快照功能。

该参数属于SIGHUP类型参数,请参考表GUC参数分类中对应设置方法进行设置。

取值范围: 布尔型

  • on: 打开数据库监控快照功能。
  • off: 关闭数据库监控快照功能。

默认值: off

wdr_snapshot_retention_days

参数说明: 系统中数据库监控快照数据的保留天数,超过设置的值之后,系统每隔wdr_snapshot_interval时间间隔,清理snapshot_id最小的快照数据。

该参数属于SIGHUP类型参数,请参考表GUC参数分类中对应设置方法进行设置。

取值范围: 整型,1~8。

默认值: 8

wdr_snapshot_query_timeout

参数说明: 系统执行数据库监控快照操作时,设置快照操作相关的sql语句的执行超时时间。如果语句超过设置的时间没有执行完并返回结果,则本次快照操作失败。

该参数属于SIGHUP类型参数,请参考表GUC参数分类中对应设置方法进行设置。

取值范围: 整型,100~INT_MAX(秒)。

默认值: 100s

wdr_snapshot_interval

参数说明: 后台线程Snapshot自动对数据库监控数据执行快照操作的时间间隔。

该参数属于SIGHUP类型参数,请参考表GUC参数分类中对应设置方法进行设置。

取值范围: 整型,10~60(分钟)。

默认值: 1h

查看当前wdr相关配置

postgres@omm:local=#select name, setting from pg_settings where name like '%wdr%';
            name             | setting
-----------------------------+---------
 enable_wdr_snapshot         | off
 wdr_snapshot_interval       | 60
 wdr_snapshot_query_timeout  | 100
 wdr_snapshot_retention_days | 8
(4 rows)

开启wdr日志

omm@107707f966f0:/var/lib/mogdb/data$ gs_guc reload -D $PGDATA -c "enable_wdr_snapshot=on"
expected instance path: [/var/lib/mogdb/data/postgresql.conf]
gs_guc reload: enable_wdr_snapshot=on: [/var/lib/mogdb/data/postgresql.conf]
server signaled

Total instances: 1. Failed instances: 0.
Success to perform gs_guc!

omm@107707f966f0:/var/lib/mogdb/data$ gsql -d postgres -r
gsql ((MogDB 2.1.1 build b5f25b20) compiled at 2022-03-21 14:42:30 commit 0 last mr  )
Non-SSL connection (SSL connection is recommended when requiring high-security)
Type "help" for help.

postgres@omm:local=#select name, setting from pg_settings where name like '%wdr%';
            name             | setting
-----------------------------+---------
 enable_wdr_snapshot         | on
 wdr_snapshot_interval       | 60
 wdr_snapshot_query_timeout  | 100
 wdr_snapshot_retention_days | 8
(4 rows)

查看快照统计表

postgres@omm:local=#show search_path;
  search_path
----------------
 "$user",public
(1 row)

postgres@omm:local=#alter session set search_path=snapshot;
SET
postgres@omm:local=#show search_path;
 search_path
-------------
 snapshot
(1 row)

postgres@omm:local=#\d
                                             List of relations
  Schema  |                   Name                   |   Type   | Owner |             Storage
----------+------------------------------------------+----------+-------+----------------------------------
 snapshot | snap_class_vital_info                    | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_bgwriter_stat                | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_ckpt_status                  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_config_settings              | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_double_write_status          | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_file_iostat                  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_file_redo_iostat             | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_instance_time                | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_memory_node_detail           | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_os_runtime                   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_os_threads                   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_pagewriter_status            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_record_reset_time            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_recovery_status              | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_redo_status                  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_rel_iostat                   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_replication_slots            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_replication_stat             | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_rto_status                   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_shared_memory_detail         | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_all_indexes             | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_all_tables              | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_bad_block               | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_database                | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_database_conflicts      | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_db_cu                   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_stat_user_functions          | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_statement_count              | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_statio_all_indexes           | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_statio_all_sequences         | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_statio_all_tables            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_thread_wait_status           | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_threadpool_status            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_transactions_prepared_xacts  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_transactions_running_xacts   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_wait_events                  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_global_workload_transaction         | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_seq                                 | sequence | omm   |
 snapshot | snap_statement_responsetime_percentile   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_file_iostat                 | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_file_redo_iostat            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_rel_iostat                  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_stat_all_indexes            | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_stat_all_tables             | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_stat_bad_block              | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_stat_database               | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_stat_database_conflicts     | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_stat_user_functions         | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_statement                   | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_statement_count             | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_statio_all_indexes          | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_statio_all_sequences        | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_statio_all_tables           | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_transactions_prepared_xacts | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_transactions_running_xacts  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_user_login                  | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_workload_sql_count          | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_workload_sql_elapse_time    | table    | omm   | {orientation=row,compression=no}
 snapshot | snap_summary_workload_transaction        | table    | omm   | {orientation=row,compression=no}
 snapshot | snapshot                                 | table    | omm   | {orientation=row,compression=no}
 snapshot | tables_snap_timestamp                    | table    | omm   | {orientation=row,compression=no}
(61 rows)

手动生产快照

SNAPSHOT.SNAPSHOT

SNAPSHOT表记录当前系统中存储的WDR快照数据的索引信息、开始、结束时间。只能在系统库中查询到结果,在用户库中无法查询。

表 1 SNAPSHOT表属性

名称类型描述示例
snapshot_idbigintWDR快照序号。1
start_tstimestampWDR快照的开始时间。2019-12-28 17:11:27.423742+08
end_tstimestampWDR快照的结束时间。2019-12-28 17:11:43.67726+08
postgres@omm:local=#select * from snapshot.snapshot;
 snapshot_id |           start_ts            |            end_ts
-------------+-------------------------------+-------------------------------
           1 | 2022-05-02 11:19:37.239977+00 | 2022-05-02 11:19:37.865708+00
(1 row)

postgres@omm:local=#select create_wdr_snapshot();
           create_wdr_snapshot
-----------------------------------------
 WDR snapshot request has been submitted
(1 row)

postgres@omm:local=#select * from snapshot.snapshot;
 snapshot_id |           start_ts            |            end_ts
-------------+-------------------------------+-------------------------------
           1 | 2022-05-02 11:19:37.239977+00 | 2022-05-02 11:19:37.865708+00
           2 | 2022-05-02 11:42:28.047396+00 | 2022-05-02 11:42:28.617173+00
(2 rows)

生成性能报告

a. 执行如下命令生成格式化性能报告文件。

\a \t \o 服务器文件路径

上述命令涉及参数说明如下:

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

b. 执行如下命令将查询到的信息写入性能报告中。

select generate_wdr_report(begin_snap_id bigint, end_snap_id bigint, report_type cstring, report_scope cstring, node_name cstring);

命令中涉及的参数说明如下。

表 3 generate_wdr_report函数参数说明

参数说明取值范围
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时,需要把该参数指定为对应节点的名称。(节点名称可以执行select * from pg_node_env;查询)。在report_scope为cluster时,该值可以指定为省略、空或者为NULL。

执行操作

postgres@omm:local=#select * from pg_node_env;
 node_name |   host    | process | port |   installpath    |      datapath       | log_directory
-----------+-----------+---------+------+------------------+---------------------+---------------
 mogdb     | localhost |       1 | 5432 | /usr/local/mogdb | /var/lib/mogdb/data | pg_log
(1 row)
postgres@omm:local=#
postgres@omm:local=#\a \t \o wdr_20220502.html
postgres@omm:local=#select generate_wdr_report(1,2,'all','node','mogdb');

c.执行如下命令关闭输出选项及格式化输出命令。

\o \a \t

查看报告

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

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夏 克

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值