WDR Snapshot生成性能报告

基于WDR Snapshot数据表汇总、统计,生成性能报告。

前提条件

WDR Snasphot在启动后(即参数enable_wdr_snapshot为on时), 且快照数量大于等于2时可以生成报告。

操作步骤

  1. 执行如下命令查询已经生成的快照,以获取快照的snapshot_id。

    1. select * from snapshot.snapshot;
  2. (可选)执行如下命令手动创建快照。数据库中只有一个快照或者需要查询在当前时段数据库监控的监控数据,可以选择手动执行快照操作。

    1. select create_wdr_snapshot();
  3. 执行如下步骤生成性能报告。

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

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

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

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

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

  1. select generate_wdr_report(begin_snap_id Oid, end_snap_id Oid, varchar report_type, varchar report_scope, int node_name );

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

表 1 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。

  • node:openGauss中的节点名称。
  • cluster:省略、空或者NULL。

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

  1. \o \a \t

示例

  1. --查询enable_wdr_snapshot,此参数需要为on
  2. postgres=# show enable_wdr_snapshot;
  3. enable_wdr_snapshot
  4. ---------------------
  5. on
  6. (1 row)
  7. --查询已经生成的快照。
  8. postgres=# select * from snapshot.snapshot;
  9. snapshot_id | start_ts | end_ts
  10. -------------+-------------------------------+-------------------------------
  11. 1 | 2020-09-07 10:20:36.763244+08 | 2020-09-07 10:20:42.166511+08
  12. 2 | 2020-09-07 10:21:13.416352+08 | 2020-09-07 10:21:19.470911+08
  13. (2 rows)
  14. --生成格式化性能报告wdrTestNode.html
  15. postgres=# \a \t \o /home/om/wdrTestNode.html
  16. Output format is unaligned.
  17. Showing only tuples.
  18. --向性能报告wdrTestNode.html中写入数据。
  19. postgres=# select generate_wdr_report(1, 2, 'all', 'node', 'dn');
  20. --关闭性能报告wdrTestNode.html
  21. postgres=# \o
  22. --生成格式化性能报告wdrTestCluster.html
  23. postgres=# \o /home/om/wdrTestCluster.html
  24. --向格式化性能报告wdrTestCluster.html中写入数据。
  25. postgres=# select generate_wdr_report(1, 2, 'all', 'cluster', '');
  26. --关闭性能报告wdrTestCluster.html
  27. postgres=# \o \a \t
  28. Output format is aligned.
  29. Tuples only is off.