文档中心MogDBMogDB StackUqbar
v1.1

文档:v1.1

WDR解读指南

WDR Snasphot在启动后(打开参数enable_wdr_snapshot),会在用户表空间"pg_default",数据库"postgres"下新建schema "snapshot",用于持久化WDR快照数据。

根据参数wdr_snapshot_retention_days来自动管理快照的生命周期。


WDR Snapshot 原信息表


SNAPSHOT.SNAPSHOT

SNAPSHOT表记录当前系统中存储的WDR 快照数据的索引信息,开始,结束时间。

表 1 SNAPSHOT表属性

名称 类型 描述 示例
snapshot_id bigint WDR快照序号。 1
start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.423742+08
end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:43.67726+08

SNAPSHOT.TABLES_SNAP_TIMESTAMP

TABLES_SNAP_TIMESTAMP表记录所有存储的WDR snapshot中数据库,表对象,数据采集的开始,结束时间。

表 2 TABLES_SNAP_TIMESTAMP表属性

名称 类型 描述 示例
snapshot_id bigint WDR快照序号。 1
db_name text WDR snapshot对应的database。 tpcc1000
tablename text WDR snasphot对应的table。 snap_xc_statio_all_indexes
start_ts timestamp WDR快照的开始时间。 2019-12-28 17:11:27.425849+08
end_ts timestamp WDR快照的结束时间。 2019-12-28 17:11:27.707398+08

WDR Snapshot 数据表

WDR Snapshot数据表命名原则: snap_{源数据表}。

WDR Snapshot数据表来源为"DBE_PERF Schema"下所有的视图。


WDR Snapshot生成性能报告

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

前提条件

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

操作步骤

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

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

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

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

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

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

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

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

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

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

    表 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。 node: MogDB中的节点名称。
    cluster: 省略、空或者NULL。

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

    \o \a \t

示例

--查询enable_wdr_snapshot,此参数需要为on。
mogdb=# show enable_wdr_snapshot;
 enable_wdr_snapshot
---------------------
 on
(1 row)

--查询已经生成的快照。
mogdb=# select * from snapshot.snapshot;
 snapshot_id |           start_ts            |            end_ts
-------------+-------------------------------+-------------------------------
           1 | 2020-09-07 10:20:36.763244+08 | 2020-09-07 10:20:42.166511+08
           2 | 2020-09-07 10:21:13.416352+08 | 2020-09-07 10:21:19.470911+08
(2 rows)

--生成格式化性能报告wdrTestNode.html。
mogdb=# \a \t \o /home/om/wdrTestNode.html
Output format is unaligned.
Showing only tuples.

--向性能报告wdrTestNode.html中写入数据。
mogdb=# select generate_wdr_report(1, 2, 'all', 'node', 'dn');

--关闭性能报告wdrTestNode.html。
mogdb=# \o

--生成格式化性能报告wdrTestCluster.html。
mogdb=# \o /home/om/wdrTestCluster.html

--向格式化性能报告wdrTestCluster.html中写入数据。
mogdb=# select generate_wdr_report(1, 2, 'all', 'cluster', '');

--关闭性能报告wdrTestCluster.html。
mogdb=# \o \a \t
Output format is aligned.
Tuples only is off.
Copyright © 2011-2024 www.enmotech.com All rights reserved.