数据库负载 - Amazon Aurora
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

数据库负载

性能详情的核心指标是 DB 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 指标的不同特征的类别或“group by”子句。诊断性能问题时,最有用的维度是等待事件和主要 SQL。

等待事件

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

主要 SQL

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

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