Amazon Relational Database Service
用户指南 (API Version 2014-10-31)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。请点击 Amazon AWS 入门,可查看中国地区的具体差异

预览:使用 Amazon Performance Insights

Amazon RDS Performance Insights 用于监控您的 Amazon RDS 数据库实例负载,使您可以分析数据库性能和排查数据库性能问题。Amazon RDS Performance Insights 当前只能与 Amazon Aurora (PostgreSQL) 一起使用。

Performance Insights 在现有 Amazon RDS 监控功能的基础上进行了扩展,以便通过示意图展示您的数据库的性能并帮助您分析影响性能的任何问题。利用 Performance Insights 控制面板,您可以可视化数据库负载并按等待状态、SQL 语句、主机或用户来筛选负载。对于 Aurora PostgreSQL 数据库引擎,默认情况下,Performance Insights 处于启用状态。如果您的数据库实例上有多个数据库,则将为数据库实例聚合所有数据库的性能数据。数据库性能数据将保留 24 小时。

Performance Insights 的核心指标为数据库负载,它表示数据库引擎的活动会话的平均数量。活动会话 是已将作业提交到数据库引擎并且正在等待数据库引擎响应的连接。

例如,如果您将 SQL 查询提交到数据库引擎,数据库会话在数据库引擎处理该查询时将处于活动状态。系统每秒都会通过轻量级机制对会话信息进行采样,然后聚合这种采样数据并以 Average Active Sessions 图表的形式将其显示在控制面板中。

Average Active Sessions 图表将 Max CPU 值显示为一条线,方便您观察活动会话是否超出此值。Max CPU 值由您的数据库实例的 vCPU (虚拟 CPU) 内核数决定。如果 Average Active Sessions 图表中的负载经常高于 Max CPU 线并且主要等待状态为 CPU,则表示系统 CPU 过载。在这种情况下,您可能需要限制与实例的连接数,调整具有高 CPU 负载的任何 SQL 查询,或考虑使用更大的实例类。如果始终有大量实例处于任何等待状态,则表示可能存在您应解决的瓶颈或资源争用问题。即使负载未越过 Max CPU 线,也可能会出现此问题。

以下视频概述了 Performance Insights。

使用 Performance Insights 控制面板

Performance Insights 控制面板包含帮助您分析和排查性能问题的数据库性能信息。在主控制面板页面上,您可以查看有关数据库负载的信息,然后深入了解特定等待状态、SQL 查询、主机或用户的信息。

打开 Performance Insights 控制面板

若要开始,请打开 Performance Insights 控制面板。

在 AWS 管理控制台中查看 Performance Insights 控制面板

  1. 通过以下网址打开 Amazon RDS 控制台:https://console.amazonaws.cn/rds/

  2. 在导航窗格中,选择 Performance Insights

  3. 选择一个数据库实例。将为该实例显示 Performance Insights 控制面板。

    您还可以通过选择实例列表中的 Current Activity 来访问控制面板。

     筛选指标
     筛选指标

默认情况下,Performance Insights 控制面板将显示过去 60 分钟的数据。您可以修改它以显示过去 5 分钟、60 分钟、6 小时或 24 小时的数据。

 筛选指标

Performance Insights 控制面板组件

该控制面板分为两个部分:

  1. Average Active Sessions 图表 - 显示数据库负载与由 Max CPU 线表示的数据库实例容量的比较情况。

  2. Top load items 表 - 显示导致数据库负载的主要项目。

“Average Active Sessions”图表

Average Active Sessions 图表显示了数据库负载与由 Max CPU 线表示的数据库实例容量的比较情况。默认情况下,负载显示为按等待状态分组的活动会话。不过,您可选择将负载显示为按 SQL 查询、主机或用户分组的活动会话。

 筛选指标

要在图例中查看任何项目在选定时间段内的详细信息,您可将鼠标悬停在 Average Active Sessions 图表的该项目上。

 筛选指标

“Top Load Items”表

Top load items 表显示导致数据库负载的主要项目。默认情况下,此处将显示导致数据库负载的主要 SQL 查询。这些查询以结构上相似但可能具有不同参数的多个实际查询的摘要形式显示。您可以改为选择显示主要等待状态、主机或用户。

 筛选指标

与每个主要负载项目关联的数据库负载的百分比将显示在 DB Load by Waits 列中。此列按当前在 Average Active Sessions 图表中选择的分组方式反映该项目的负载。例如,假设 Average Active Sessions 图表是按主机分组,并且您正在查看“Top Load Items”表中的 SQL 查询。在这种情况下,DB Load by Waits 栏将反映该查询在相关主机上表示的负载,并将进行颜色标识以映射到该主机在 Average Active Sessions 图表中的表示形式。

再例如,假设 Average Active Sessions 图表是按等待状态分组,并且您正在查看“Top Load Items”表的 SQL 查询。此时,系统将对 DB Load by Waits 栏进行大小调整、分段和颜色标识,以显示该查询在导致给定等待状态方面所起的作用大小,以及哪些等待状态正在影响该查询。

 筛选指标

使用 Performance Insights 控制面板分析数据库负载

如果 Average Active Sessions 图表显示了一个瓶颈,您可以找出负载的来源。为此,请查看 Average Active Sessions 图表下方的“Top Load Items”表。选择特定项目 (如 SQL 查询或用户) 以深入了解该项目并查看有关该项目的详细信息。

按等待状态和主要 SQL 查询分组的数据库负载是默认 Performance Insights 控制面板视图,因为这是通常提供了最多的性能问题见解的组合。按等待状态分组的数据库负载显示了数据库中是否存在任何资源瓶颈或并发瓶颈。在这种情况下,“Top Load Items”表的 SQL 选项卡显示了增大该负载的查询。

诊断性能问题的典型工作流程如下:

  1. 查看 Average Active Sessions 图表并了解是否存在数据库负载越过 Max CPU 线的任何事件。

  2. 如果有,请查看 Average Active Sessions 图表并确定负主要责任的等待状态。

  3. 通过以下方式确定导致负载的摘要查询:查看“Top Load Items”表上的 SQL 选项卡中的哪个查询对于导致这些等待状态所起的作用最大。可通过 DB Load by Wait 列加以识别。

  4. SQL 选项卡中选择这些摘要查询之一以展开它并查看其子查询。

例如,在随后出现的控制面板中,IO:XactSync 等待状态是一个出现频率较高的问题。CPU 等待状态是一个出现频率较低的问题,但它仍对负载起到重要作用。“Top Load Items”表的 SQL 选项卡中的前 4 个汇总查询与第一个状态紧密关联。因此,这些查询是您希望深入了解并执行子查询检查的查询。这样做是为了确定它们对导致性能问题所起的作用大小。最后 3 个汇总查询对 CPU 负载起到了重要作用。这些查询将是用来调查 CPU 负载是否是一个问题的查询。

 筛选指标

其他用户界面功能

您可以使用 Performance Insights 用户界面的其他功能来帮助分析性能数据。

单击并拖动进行放大

在 Performance Insights 界面中,您可以选择负载图表的一小部分并放大细节。

 放大

要放大负载图表的一部分,请选择开始时间并拖动到所需时间段的结尾。执行此操作时,所选区域将突出显示。释放鼠标时,负载图表上的所选区域将放大,并重新计算 Top N 表。

暂停和缩小

在负载图表的右上角,可找到 PauseZoom out 工具。

 暂停和缩小

如果选择 Pause,负载图表将停止自动刷新。再次选择 Pause 时,图表将恢复自动刷新。

选择 Zoom out 时,负载图表将缩小到下一个最大的时间间隔。

相关主题