Amazon Aurora
Aurora 用户指南 (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

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

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

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

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

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

  • 每小时刷新一周一次。


					筛选指标

Performance Insights 控制面板组件

控制面板分为三个部分:

  1. 计数器指标图表 – 显示特定性能计数器指标的数据。

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

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

计数器指标图表

Counter Metrics (计数器指标) 图表显示性能计数器的数据。显示的默认指标为 blks_read.avgxact_commit.avg。您可以通过选择图表右上角的齿轮图标来选择要显示的性能计数器。


						筛选指标

有关更多信息,请参阅 Performance Insights 计数器

“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。

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

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

    对于 Aurora MySQL 和 Aurora PostgreSQL 数据库实例,您可以使用摘要 ID 查找特定的 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 负载是否是一个问题的查询。


					筛选指标

在 Performance Insights 控制面板中查看更多 SQL 文本

默认情况下,Top Load Items (首要负载项目) 表中的每行为每个 SQL 语句显示 500 字节的 SQL 文本。当 SQL 语句大于 500 字节时,可通过在 Performance Insights 控制面板中打开该语句来查看 SQL 语句的更多内容。Performance Insights 控制面板可以为 SQL 语句最多显示 4096 字节。您还可以复制或下载所显示的 SQL 语句。

SQL 文本的限制取决于数据库引擎。那么,下列限制适用:

  • Aurora MySQL 5.7 – 4096 字节

  • Aurora MySQL 5.6 – 1024 字节

  • Aurora PostgreSQL – 通过 track_activity_query_size 数据库实例参数进行设置

对于 Aurora PostgreSQL 数据库实例,可以通过设置 track_activity_query_size 数据库实例参数来控制 SQL 文本大小的限制,最高为 102400 字节。可以使用 AWS 管理控制台来下载 SQL 文本,最多为您使用此参数设置的限制。有关更多信息,请参阅 为 Aurora PostgreSQL 数据库实例设置 SQL 文本限制

重要

目前,您只能使用 AWS 管理控制台查看和下载更多 SQL 文本。AWS Performance Insights CLI 和 API 最多可以返回 500 字节的文本。

注意

对于Aurora MySQL 数据库实例,不支持在 欧洲(斯德哥尔摩) 区域中查看更多 SQL 文本。

在 Performance Insights 控制面板中查看更多 SQL 文本

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

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

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

    具有大于 500 字节的文本的 SQL 语句如下图所示。

    
							具有大文本的 SQL 语句
  4. 打开 SQL 语句来查看更多 SQL 文本。

    
							查看更多 SQL 文本

    Performance Insights 控制面板可以为每个 SQL 语句最多显示 4096 字节。

  5. (可选)选择 Copy snippet (复制代码段) 来复制所显示的 SQL 语句,或选择 Download full SQL (下载完整 SQL) 来下载 SQL 语句。

    注意

    要复制或下载 SQL 语句,请禁用弹出窗口阻止程序。

Aurora PostgreSQL 数据库实例设置 SQL 文本限制

对于 Aurora PostgreSQL 数据库实例,您可以控制可显示在 Performance Insights 控制面板上的 SQL 文本的限制。

为此,请修改 track_activity_query_size 数据库实例参数。 在 Aurora PostgreSQL 9.6 版上,track_activity_query_size 参数的默认设置为 1024 字节。在 Aurora PostgreSQL 10 版或更高版本上,track_activity_query_size 参数的默认设置为 4096 字节。

您可以增加字节数来增加 Performance Insights 控制面板中可见的 SQL 文本大小。参数的限制为 10240 字节。有关 track_activity_query_size 数据库实例参数的更多信息,请参阅 PostgreSQL 文档中的运行时统计数据

要修改参数,请更改与 Aurora PostgreSQL 数据库实例关联的参数组中的参数设置。

如果 Aurora PostgreSQL 数据库实例使用默认的参数组,请完成以下步骤:

  1. 为相应数据库引擎和数据库引擎版本创建新的数据库实例参数组。

  2. 在新参数组中设置参数。

  3. 将新参数组与数据库实例相关联。

有关设置数据库实例参数的信息,请参阅 修改数据库参数组中的参数