性能洞察是一项专注于数据库性能调优、负载监控和关联分析的利器,使用直观简单的方式帮助您迅速评估数据库负载,找到性能问题的源头和对应的SQL语句,以此来指导您在何时、何处、采取何种行动进行数据性能优化。

操作步骤

  1. 登录PolarDB控制台
  2. 在控制台左上角,选择集群所在地域。
  3. 集群列表页,单击目标集群ID。
  4. 在左侧导航栏中,选择诊断与优化 > 一键诊断
  5. 单击性能洞察页签。
  6. 单击开启性能洞察
    PG/O开启性能洞察页面
  7. 在弹出的对话框内,单击确定
  8. 您可以在性能洞察页面查看和管理如下信息:
    • 性能趋势区域,您可以查看特定时段的数据库性能情况。若您需要查看某个具体性能(如CPU使用率),可以单击该性能名称右侧的详情按钮进行查看。性能趋势
      说明 可供查看的时间范围不能超过7天。
    • 平均活跃会话区域,您可以查看不同类别(如SQL)会话的变化趋势图和相关多维负载信息列表,确定性能问题源头。活跃会话多维

数据指标

性能洞察将pg_stat_activity视图作为数据源,采样后可以获取到以下信息:

  • 用户、等待事件
  • SQL、 HOST
  • 数据库、连接状态

以下图片和表格展示了PolarDB性能洞察页面以及部分参数的介绍。

图 1. 性能洞察页面示例图一
性能洞察
图 2. 性能洞察页面示例图二
性能洞察示例二
序号 参数 说明
AS:active session 当前活跃的会话个数。
AAS:average active session 一段时间内,AS的平均值。
Max Vcores:8
  • 当前实例的CPU个数。
  • CPU事件超出该值可以认为存在性能瓶颈。

性能图表

性能洞察页面由以下三个部分组成:

  • 图 3. 关键的性能指标变化趋势图(实时)
    关键的性能指标变化趋势图(实时)
  • 图 4. 实时AAS变化趋势图
    实时AAS变化趋势图

    上图为数据库实例中活跃会话变化趋势。

  • 图 5. 多维度实例负载信息(AAS)
    多维度实例负载信息(AAS)

    上图为聚合30次采集结果。

性能洞察与常规排查过程的对比

问题 常规排查过程 使用性能洞察排查
在某个时间点原本时间很短UPDATE SQL变慢或审计日志中发现大量UPDATE。
  • 排查性能监控
  • 排查慢SQL日志
  • 排查海量审计日志
  • 选择问题出现时间范围
  • 选择不同纬度反映问题的不同侧面
  • 定位问题SQL
  • 定位SQL状态
同SQL在不用的客户端执行时间差距很大且客户端在不同机房。
  • 排查性能监控
  • 网络抓包分析
  • 选择问题出现时间范围
  • 主要观察host维度
  • 综合多维度信息定位问题