文章目录
文档用途
该文档主要介绍pg_pdr以及生成方式。
详细信息
1.pg_pdr介绍
瀚高数据库企业版V5提供了类似Oracle数据库AWR报告的性能诊断报告(Performance Diagnosis Report),以下简称 PDR。
2.pg_pdr的配置
配置数据库参数文件:
shared_preload_libraries = 'worker_pg_pdr,pg_stat_statements,pg_wait_sampling'
PDR 的正常使用需要加载这三个库文件
pg_pdr.naptime = 60
PDR 快照的产生间隔,单位为分钟,默认为 60 分钟产生一次快照。Naptime=0 时,代表不启用 PDR 功能。
pg_pdr.naplife = 7
PDR 快照的保存时间,单位为天,默认保存最近 7 天的快照。超过 naplife 的快照,会自动删除。
pg_pdr.napdb = 'highgo'
用于保存 PDR 快照数据表的数据库,默认设置为 highgo 数据库。
注意事项:
PDR 的相关参数发生修改,需要重启数据库才生效。
PDR快照数据表保存的数据库如果为新创建的库,需要dba手动连接一次新创建的库。
3.pg_pdr的使用
初次安装和使用 PDR 功能时,采集的第一个快照id是0。
用户可以用于生成性能分析报告的快照 id是从1开始的。每拍一次快照,id加1。
生成快照的时机有两种:
一是计划时间到期(默认 1 小时),自动拍摄快照。
二是用户使用 pg_pdr_new_snap()函数手工拍快照。
自动快照:
在数据库启动1分钟后自动产生一次快照,然后根据配置文件中的 pg_pdr.naptime 自动产生后续快照,无需操作。
手动快照:
在psql中输入 select pg_pdr_new_snap()即可产生一次快照。
psql 返回 t,表示生成快照成功。
psql 返回 f,表示生成快照失败。
4.生成性能分析报告
使用 pdr_report 命令,可以生成 PDR 报告。
PDR生成的快照存储在napdb配置的数据库中,快照包含整个数据集簇中所有数据库的性能信息。
生成 PDR 报告时,需要选择集簇中的一个数据库作为报告目标数据库名,只生成一个数据库的报告。
按照提示,依次输入数据库用户名,数据库用户密码,快照存储数据库名,报告目标数据库名,开始快照 id,结束快照 id,报告文件名。
完成以上输入,即可生成报告。
性能分析报告为 html 网页格式,可在浏览器中打开和使用。
注意:
1.PDR保存快照的数据表为_pg_pdr_.pdrdb , pg_pdr .pdrtable , pg_pdr .pdrsql , pg_pdr.pdrwait。
这四个数据表不可修改表结构,不可修改删除数据,否则将导致无法生成性能分析报告或者生成的性能分析报告不准确。
如果因意外情况导致这四个数据表的数据被修改,无法生成准确的性能分析报告,
可删除这四张数据表并重启数据库,由快照id=0开始生新生成快照。
2.快照与结束快照期间发生过数据库重启,将无法生成性能分析报告。
dr_report 命令时,会分屏列出当前快照存储数据库和报告目标数据库拥有的所有快
照 id,此时可使用 Enter 键显示下一行快照 id,可使用空格键显示下一屏快照 id,
可使用q键停止显示剩余的快照 id。