WDR Snapshot生成性能报告

基于WDR Snapshot数据表汇总、统计,生成性能报告,默认初始化用户或监控管理员用户可以生成报告。

前提条件

WDR Snapshot启动(即参数enable_wdr_snapshot为on时),且快照数量大于等于2。

操作步骤

  1. 执行如下命令新建报告文件。

    1. touch /home/om/wdrTestNode.html
  2. 执行以下命令连接postgres数据库。

    1. gsql -d postgres -p 端口号 -r
  3. 执行如下命令查询已经生成的快照,以获取快照的snapshot_id。

    1. select * from snapshot.snapshot;
  4. (可选)在CCN上执行如下命令手动创建快照。数据库中只有一个快照或者需要查看在当前时间段数据库的监控数据,可以选择手动执行快照操作,该命令需要用户具有sysadmin权限。

    1. select create_wdr_snapshot();

    WDR Snapshot 生成性能报告 - 图1 说明:

    执行“cm_ctl query -Cdvi”,回显中“Central Coordinator State”下显示的信息即为CCN信息。

  5. 执行如下命令,在本地生成HTML格式的WDR报告。

    1. 执行如下命令,设置报告格式。\a: 不显示表行列符号, \t: 不显示列名 ,\o: 指定输出文件。

      1. gsql> \a
      2. gsql> \t
      3. gsql> \o /home/om/wdrTestNode.html
    2. 执行如下命令,生成HTML格式的WDR报告。

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

      示例一,生成集群级别的报告:

      1. select generate_wdr_report(1, 2, 'all', 'cluster',null);

      示例二,生成某个节点的报告:

      1. select generate_wdr_report(1, 2, 'all', 'node', pgxc_node_str()::cstring);

      WDR Snapshot 生成性能报告 - 图2 说明:

      当前openGauss的节点名固定是“dn_6001_6002_6003”,也可直接代入。

      表 1 generate_wdr_report函数参数说明

      参数

      说明

      取值范围

      begin_snap_id

      查询时间段开始的snapshot的id(表snapshot.snapshot中的snapshot_id)。

      -

      end_snap_id

      查询时间段结束snapshot的id。默认end_snap_id大于begin_snap_id(表snapshot.snapshot中的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。
    3. 执行如下命令关闭输出选项及格式化输出命令。

      1. \o \a \t
  6. 在/home/om/下根据需要查看WDR报告

示例

  1. --创建报告文件
  2. touch /home/om/wdrTestNode.html
  3. --连接数据库
  4. gsql -d postgres -p 端口号 -r
  5. --查询已经生成的快照。
  6. openGauss=# select * from snapshot.snapshot;
  7. snapshot_id | start_ts | end_ts
  8. -------------+-------------------------------+-------------------------------
  9. 1 | 2020-09-07 10:20:36.763244+08 | 2020-09-07 10:20:42.166511+08
  10. 2 | 2020-09-07 10:21:13.416352+08 | 2020-09-07 10:21:19.470911+08
  11. (2 rows)
  12. --生成格式化性能报告wdrTestNode.html
  13. openGauss=# \a \t \o /home/om/wdrTestNode.html
  14. Output format is unaligned.
  15. Showing only tuples.
  16. --向性能报告wdrTestNode.html中写入数据。
  17. openGauss=# select generate_wdr_report(1, 2, 'all', 'node', 'dn_6001_6002_6003');
  18. --关闭性能报告wdrTestNode.html
  19. openGauss=# \o
  20. --生成格式化性能报告wdrTestCluster.html
  21. openGauss=# \o /home/om/wdrTestCluster.html
  22. --向格式化性能报告wdrTestCluster.html中写入数据。
  23. openGauss=# select generate_wdr_report(1, 2, 'all', 'cluster');
  24. --关闭性能报告wdrTestCluster.html
  25. openGauss=# \o \a \t
  26. Output format is aligned.
  27. Tuples only is off.