Performance Insights 概述 - Amazon Relational Database Service
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Performance Insights 概述

在 Amazon RDS 引擎的控制台创建向导中,Performance Insights 默认情况下处于启用状态。如果一个数据库实例上有多个数据库,则 Performance Insights 会聚合性能数据。

数据库负载

Performance Insights 的中心指标为 DB LoadDB Load 指标每秒收集一次。

活动会话

活动的会话 是已将作业提交到数据库引擎并且正在等待响应的连接。数据库负载表示数据库引擎的平均活动会话数 (AAS)。例如,如果您将 SQL 查询提交到数据库引擎,则数据库会话在引擎处理该查询时将处于活动状态。

为了获取平均活动会话数,性能详情会对同时运行查询的会话数进行采样。平均活动会话数是会话总数除以样本总数。下表显示了正在运行的查询的 5 个连续示例。

示例 运行查询的会话数 AAS 计算
1 2 2 2 个会话/1 个样本
2 0 1 2 个会话/2 个样本
3 4 2 6 个会话/3 个样本
4 0 1.5 6 个会话/4 个样本
5 4 2 10 个会话/5 个样本

与平均活动会话数相关的是每秒的平均活动执行数 (AAE)。为了计算平均活动执行数,性能详情使用查询的总执行时间除以时间间隔。下表显示了上表中同一查询的平均活动执行数计算。

运行时间 (s) 总执行时间 (s) AAE 计算
60 120 2 120 秒执行时间/60 秒运行时间
120 120 1 120 秒执行时间/120 秒运行时间
180 380 2.1.1 360 秒执行时间/180 秒运行时间
240 380 1.58 360 秒执行时间/240 秒运行时间
300 600 2 600 秒执行时间/300 秒运行时间

在大多数情况下,查询的平均活动会话数和平均活动执行数大致相同。但是,由于计算所用的数据是不同的数据源,因此计算通常略有不同。

Dimensions

DB Load 指标具有称为 维度的子组件。您可以将维度视为 DB Load 指标的不同特征的类别。诊断性能问题时,最有用的维度是等待事件和主要 SQL。

等待事件

等待事件 会导致 SQL 语句等待特定事件发生,然后才能继续运行。例如,SQL 语句可能会一直等到已锁定的资源得到解锁。通过结合使用 DB Load 和等待事件,您可以全面了解会话状态。等待事件因数据库引擎而异:

  • 有关所有 MariaDB 和 MySQL 等待事件的信息,请参阅 MySQL 文档中的等待事件摘要表

  • 有关所有 PostgreSQL 等待事件的信息,请参阅 PostgreSQL 文档中的 PostgreSQL 等待事件

  • 有关所有 Oracle 等待事件的信息,请参阅 Oracle 文档中的等待事件说明

  • 有关所有 SQL Server 等待事件的信息,请参阅 SQL Server 文档中的等待类型

注意

对于 Oracle,后台进程有时在没有关联的 SQL 语句的情况下工作。在这些情况下,Performance Insights 报告以冒号连接的后台进程类型以及与该后台进程关联的等待类。后台进程类型包括 LGWR、ARC0、PMON 等。

例如,在存档程序执行 I/O 时,它的 Performance Insights 报告类似于 ARC1:System I/O。有时,还会缺少后台进程类型,而性能详情仅报告等待类,例如 :System I/O

主要 SQL

而等待事件显示瓶颈,主要 SQL 显示哪些查询对数据库负载的贡献最大。例如,当前可能正在数据库上运行许多查询,但单个查询可能会占用 99% 的数据库负载。在这种情况下,高负载可能表示查询存在问题。

默认情况下,Performance Insights 控制台会显示导致数据库负载的主要 SQL 查询。控制台还显示每个语句的相关统计信息。要诊断特定语句的性能问题,可以检查其执行计划。

最大 CPU

在控制面板中,数据库负载图表会收集、聚合和显示会话信息。要查看活动会话是否超过最大 CPU,请查看它们与最大 vCPU 线的关系。最大 vCPU 值由数据库实例的 vCPU(虚拟 CPU)内核数决定。

如果负载经常高于最大 vCPU 线并且主要等待状态为 CPU,则表示系统 CPU 过载。在这些情况下,您可能需要限制与实例的连接数,优化具有高 CPU 负载的任何 SQL 查询,或考虑使用更大的实例类。如果始终有大量实例处于任何等待状态,则表示可能存在要解决的瓶颈或资源争用问题。即使负载未越过最大 vCPU 线,也可能会出现此问题。

可在以下视频中找到 Performance Insights 的概述。

性能详情的数据库引擎支持

您可以在下面找到支持 Performance Insights 的数据库引擎。

数据库引擎

支持的数据库引擎版本

Amazon RDS for MariaDB

所有 10.5 版本、所有 10.4 版本、10.3.13 及更高的 10.3 版本、10.2.21 及更高的 10.2 版本。

MariaDB 10.0 或 10.1 版不支持。欧洲(法兰克福) 和 欧洲(斯德哥尔摩) AWS 区域中的 MariaDB 10.3.13 版数据库实例不支持。以下数据库实例类不支持:db.t2.micro、db.t2.small、db.t3.micro 和 db.t3.small。

Amazon RDS for MySQL

8.0.17 版及更高的 8.0 版本、5.7.22 版及更高的 5.7 版本、5.6.41 版及更高的 5.6 版本。

5.5 版本不支持。以下数据库实例类不支持:db.t2.micro、db.t2.small、db.t3.micro 和 db.t3.small。

Amazon RDS for Microsoft SQL Server

SQL Server 2008 以外的所有版本。

Amazon RDS 适用于 PostgreSQL

版本 10、11、12 和 13。

Amazon RDS for Oracle

所有版本。

性能详情的 AWS 区域支持

以下 AWS 区域不支持 Amazon RDS 的性能详情:

  • 中东(巴林)区域

  • 欧洲(米兰)区域

  • 非洲(开普敦)区域

  • 亚太区域 (大阪当地)

  • AWS GovCloud (US) 区域

重要

本指南说明如何将 Amazon RDS Performance Insights 与非 Aurora 数据库引擎结合使用。有关将 Amazon RDS Performance Insights 与 Amazon Aurora 结合使用的信息,请参阅 Amazon Aurora 用户指南 中的使用 Amazon RDS Performance Insights