Global AWR用户指南

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

概述

PolarDB PostgreSQL版的Global AWR性能报告功能,在提供数据库资源、Top SQL、Top表及索引的分析基础上,进一步拓展了AWR报告的边界:数据范围上涵盖PolarDB数据库集群所有RW/RO节点,具备全局视角;数据类型上涵盖性能数据和事件信息, 方便分析数据库实例异常;数据粒度上关键指标采集细化到秒级,并通过Grafana提供趋势展示,方便定位性能抖动根因。

架构与数据流

image

AWR架构说明

  • 采集层:UE作为代理进程部署于物理机,负责采集PolarDB PostgreSQL版数据库集群的性能数据及事件信息。

  • 存储层:UE完成采集后,您可以配置将采集到的数据回写到对应的数据库集群中。

  • 展示层:提供Grafana展示, 可将数据库集群配置为数据源,导入dashboard配置文件即可查看。

展示

支持通过Grafana查看PolarDB PostgreSQL版的性能趋势及事件信息。示例如下:

  • 对于性能问题, 提供核心的Average Active Sessions趋势展示,配合资源消耗情况可分析数据库瓶颈所在。同时结合事件信息,能够快速定位抖动原因。例如下图在20:09:22,可以看到连接异常断开。

    image.png

  • 对于内存占用问题, 可细化到SQL及其Memory Context级别。

    image.png

  • 还有Top SQL和Top Table的各种分析。

    image.png

具体的开启和配置方式请参见使用说明

使用说明

使用前准备

内核版本

PolarDB PostgreSQL版内核版本建议升级至20211231或以上的版本。

执行以下命令,查看当前内核版本:

show polar_release_date;

显示结果如下所示,表示当前使用的内核版本为20211231。

polar_release_date
--------------------
20211231
(1 row)

权限说明

目前所有Global AWR提供的控制权限及数据权限均为PUBLIC。

时区

PolarDB PostgreSQL版数据库集群默认的时区为UTC,在查看性能数据时要注意所在时区的时间差异。

启用和禁用Global AWR数据的本地存储功能

在使用AWR之前,需要启用Global AWR数据的本地存储功能。Global AWR功能启用后,无需定期触发快照也可生成细粒度的性能报告。可以在postgres库的polar_gawr_collection模式下查看数据。

说明

对于关键指标,PolarDB PostgreSQL版会进行细粒度采集及写入,Global AWR功能启用后会带来两部分额外开销,请您谨慎评估是否需要启用此功能:

  • 性能开销:整体性能损失在10%以内。

  • 存储开销:目前默认保留3天的数据,3天最细粒度的数据量在10 GB以内。

操作说明

说明

以下操作需要在postgres数据库中完成。

  • 启用Global AWR数据的本地存储功能。

    SELECT polar_gawr_collection.enable_store_in_localdb();

    显示结果如下:

     enable_store_in_localdb
    -------------------------
    
    (1 row)
  • 禁用Global AWR数据的本地存储功能。

    SELECT polar_gawr_collection.disable_store_in_localdb();

    显示结果如下:

     disable_store_in_localdb
    --------------------------
    
    (1 row)
  • 查看Global AWR数据的本地存储启停状态。

    SELECT polar_gawr_collection.show_store_in_localdb();

    显示结果如下:

     show_store_in_localdb
    -----------------------
     t
    (1 row)

配置Grafana查看AWR信息

下载并安装Grafana

详情请参见Download Grafana,建议使用8.1.2或以上版本。

添加数据源

根据实际情况将PolarDB PostgreSQL版数据库集群添加为PostgreSQL数据源。

  1. 打开Grafana,在左侧导航栏中单击Configuration > Data sources

  2. 在打开的Data sources页面,单击右侧Add data source添加数据源。

    导入数据库实例

  3. 数据库集群的链接信息如实填写即可。

    说明

    Database需要填写postgres

    image.png

导入Dashboard配置文件

  1. 在左侧导航栏中单击+ > Import

  2. 在打开的Import页面,单击Upload JSON file导入配置文件。

    导入JSON文件

说明

dashboard配置文件压缩包请参见PolarDB Global AWR-1712645731515.json。配置文件下载后解压缩即可使用。