Amazon Relational Database Service
用户指南 (API 版本 2014-10-31)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

使用 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 控制面板。

    对于启用 Performance Insights 的数据库实例,您还可以通过选择数据库实例列表中的会话项目来访问控制面板。在当前活动下,会话项目显示在过去五分钟内平均活跃会话中的数据库负载。条形图显示负载量。当条形图为空时,数据库实例处于空闲状态。随着负载的增加,条形图会以蓝色填充。当负载超过数据库实例类上的虚拟 CPU (vCPU) 数量时,条形图变为红色,表示可能出现瓶颈。

    
							筛选指标

    以下图像显示数据库实例的控制面板。

    
							筛选指标

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

Performance Insights 控制面板自动刷新新的数据。刷新速率取决于所显示的数据量:

  • 5 分钟则每 5 秒刷新一次。

  • 1 小时和 5 小时均每分钟刷新一次。

  • 每 5 分钟刷新 24 小时一次。

  • 每小时刷新一周一次。


					筛选指标

Performance Insights 控制面板组件

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

  1. 平均活跃会话图表 – 显示数据库负载与由 Max CPU 线表示的数据库实例容量的比较情况。

  2. 最大负载项目表 – 显示导致数据库负载的主要项目。

“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 栏进行大小调整、分段和颜色编码,以显示该查询在导致给定等待状态方面所起的作用大小,以及哪些等待状态正在影响该查询。


						筛选指标

Top Load Items 表中,您可以查看与 SQL 语句关联的以下类型的标识符 (ID):

  • SQL ID – 数据库用来唯一地标识 SQL 语句的 ID。

    对于 Oracle 和 SQL Server 数据库实例,您可以使用 SQL ID 查找特定的 SQL 语句。

  • 支持 SQL ID – SQL ID 的哈希值。此值仅用于当您处理 AWS Support 时引用 SQL ID。AWS Support 无法访问您实际的 SQL ID 和 SQL 文本。

  • 摘要 ID – 数据库用来唯一地标识 SQL 摘要的 ID。SQL 摘要可能包含一个或多个 SQL 语句,其中删除了文本且空格已标准化。文本替换为问号 (?)。

    对于 Amazon RDS MySQL 和 PostgreSQL 数据库实例,您可以使用摘要 ID 查找特定的 SQL 摘要。

    对于 Oracle 和 SQL Server 数据库实例,摘要 ID 与 SQL ID 相同,Top Load Items 表中的顶行是实际的 SQL 语句,包含文本。

  • 支持摘要 ID – 摘要 ID 的哈希值。此值仅用于当您处理 AWS Support 时引用摘要 ID。AWS Support 无法访问您实际的摘要 ID 和 SQL 文本。

Top Load Items 表中,您可以打开顶部语句以查看其 ID。下图显示了一个打开的顶部语句。


						SQL ID

您可以通过选择 Preferences (首选项) 图标控制 Top Load Items 表显示的 ID。


						SQL ID

当您选择 Preferences (首选项) 图标时,Preferences (首选项) 窗口将打开。


						SQL ID

启用您要显示在 Top Load Items 表中的 ID,然后选择保存

使用 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 负载是否是一个问题的查询。


					筛选指标