文档中心
MogDBMogDB StackUqbar
生态工具
v3.0
文档目录
文档:v3.0

WDR Snapshot Schema

WDR Snasphot在启动后(打开参数enable_wdr_snapshot),会在用户表空间"pg_default",数据库"postgres"下新建schema "snapshot",用于持久化WDR快照数据。默认初始化用户或monadmin用户可以访问Snapshot Schema。

根据参数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

SNAP_SEQ

snap_seq是一个递增的sequence,其为WDR snapshot提供快照的ID。


WDR Snapshot 数据表

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

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

执行以下命令即可查询所有WDR Snapshot数据表:

select * from pg_catalog.pg_tables where schemaname='snapshot';

下表列出所有WDR Snapshot数据表及相关介绍页面以供查询。

schemaname tablename
snapshot tables_snap_timestamp
snapshot snapshot
snapshot snap_global_os_runtime
snapshot snap_global_os_threads
snapshot snap_global_instance_time
snapshot snap_summary_workload_sql_count
snapshot snap_summary_workload_sql_elapse_time
snapshot snap_global_workload_transaction
snapshot snap_summary_workload_transaction
snapshot snap_global_thread_wait_status
snapshot snap_global_memory_node_detail
snapshot snap_global_shared_memory_detail
snapshot snap_global_stat_db_cu
snapshot snap_global_stat_database
snapshot snap_summary_stat_database
snapshot snap_global_stat_database_conflicts
snapshot snap_summary_stat_database_conflicts
snapshot snap_global_stat_bad_block
snapshot snap_summary_stat_bad_block
snapshot snap_global_file_redo_iostat
snapshot snap_summary_file_redo_iostat
snapshot snap_global_rel_iostat
snapshot snap_summary_rel_iostat
snapshot snap_global_file_iostat
snapshot snap_summary_file_iostat
snapshot snap_global_replication_slots
snapshot snap_global_bgwriter_stat
snapshot snap_global_replication_stat
snapshot snap_global_transactions_running_xacts
snapshot snap_summary_transactions_running_xacts
snapshot snap_global_transactions_prepared_xacts
snapshot snap_summary_transactions_prepared_xacts
snapshot snap_summary_statement
snapshot snap_global_statement_count
snapshot snap_summary_statement_count
snapshot snap_global_config_settings
snapshot snap_global_wait_events
snapshot snap_summary_user_login
snapshot snap_global_ckpt_status
snapshot snap_global_double_write_status
snapshot snap_global_pagewriter_status
snapshot snap_global_redo_status
snapshot snap_global_rto_status
snapshot snap_global_recovery_status
snapshot snap_global_threadpool_status
snapshot snap_statement_responsetime_percentile
snapshot snap_global_statio_all_indexes
snapshot snap_summary_statio_all_indexes
snapshot snap_global_statio_all_sequences
snapshot snap_summary_statio_all_sequences
snapshot snap_global_statio_all_tables
snapshot snap_summary_statio_all_tables
snapshot snap_global_stat_all_indexes
snapshot snap_summary_stat_all_indexes
snapshot snap_summary_stat_user_functions
snapshot snap_global_stat_user_functions
snapshot snap_global_stat_all_tables
snapshot snap_summary_stat_all_tables
snapshot snap_class_vital_info
snapshot snap_global_record_reset_time

WDR Snapshot生成性能报告

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

前提条件

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

操作步骤

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

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

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

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

    select create_wdr_snapshot();

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

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

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

    gsql> \a
    gsql> \t
    gsql> \o /home/om/wdrTestNode.html

    b. 执行如下命令,生成HTML格式的WDR报告。

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

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

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

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

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

    img 说明: 当前MogDB的节点名固定是“dn_6001_6002_6003”,也可直接代入。

    表 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
  6. 在/home/om/下根据需要查看WDR报告。

示例

--创建报告文件
touch  /home/om/wdrTestNode.html

--连接数据库
gsql -d postgres -p 端口号 -r

--查询已经生成的快照。
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_6001_6002_6003');

--关闭性能报告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 © 2009-2022 www.enmotech.com All rights reserved.