自动负载信息库AWR(Automatic Workload Repository)是一种性能收集和分析工具。通过AWR工具,您可以从数据库的动态视图等统计信息中生成某个时间段的统计分析报告,生成数据库这段时间的性能。

PolarDB AWR功能是由polar_profile插件实现的,该插件使用PL/pgSQL编写,无需任何外部库或软件,仅需要PolarDB数据库和一个执行周期性任务的工具(例如PG_CRON)即可使用。

说明 polar_profile插件暂不支持您自行安装,如若需要请您提交工单联系技术支持安装。

相关概念

概念名称 说明
节点(Node) 用于管理数据库的统计数据,一个节点对应一个数据库集群。
快照(Snapshot) 某个时刻的统计数据集合,快照数据会过期。AWR将在您的数据库中创建历史存储库(用于存储快照数据),历史存储库将为您的集群保存统计快照。通过调用snapshot()函数来获取快照。PolarDB可以使用类似作业引擎的插件DBMS_JOB,定期生成快照。
报告(Report) AWR会基于两个快照计算,包含报告间隔期间实例工作负载的统计信息。

polar_profile插件的体系架构由以下四个部分组成:

  • 历史存储库:用于存储快照数据。
  • 快照管理引擎:用于创建快照并删除过时的快照数据。
  • 报告引擎:根据历史存储库中的数据生成报告。
  • 管理功能:用于管理节点。

注意事项

  • PolarDB只收集执行完成语句的统计信息,没有执行完成的语句是不能收集统计信息的。如果一条语句的一次执行持续到多个快照,那么它只会影响最后一个快照的统计信息(该快照是在该语句执行过程中完成的)。您无法得到仍在运行的语句的统计数据。VACUUM和CHECKPOINTER等维护进程只会在完成时更新统计信息。
  • 重置任何PolarDB统计信息可能会影响下一个快照的准确性。