跳至内容

如何对适用于 Aurora 集群和实例的性能详情和 CloudWatch 数据库洞察的问题进行故障排除?

2 分钟阅读
0

我为 Amazon Aurora MySQL 兼容版集群开启了性能详情或 Amazon CloudWatch 数据库洞察,但我遇到了问题。我想在性能详情或 CloudWatch 数据库洞察中查看数据。

简述

重要事项:性能详情将于 2025 年 11 月 30 日到期。您可以在 2025 年 11 月 30 日之前升级到数据库洞察的高级模式。如果您不进行升级,则使用性能详情的数据库集群将默认采用数据库洞察的标准模式。只有数据库洞察的高级模式才支持执行计划和按需分析。如果您的集群默认采用标准模式,则您可能无法在控制台上使用这些功能。要开启高级模式,请参阅开启适用于 Amazon RDS 的数据库洞察的高级模式开启适用于 Amazon Aurora 的数据库洞察的高级模式

当您未正确配置性能详情和数据库洞察的组件时,就会遇到问题。

以下组件可能会导致问题:

  • Aurora 版本和 AWS 区域可用性
  • 实例类型
  • AWS Identity and Access Management (IAM) 策略
  • MySQL 性能架构
  • SQL 文本配额
  • 资源利用情况
  • 数据库实例的暂时性网络问题或系统维护
  • 数据库实例上低于阈值的数据库负载

解决方法

Aurora 版本和区域可用性

根据您的并行查询配置,您的引擎版本和 AWS 区域可能无法用于性能详情和数据库洞察。

如果您关闭了并行查询,则所有版本的 Aurora MySQL 兼容版 2 和 Aurora MySQL 兼容版 3 集群均可在所有区域使用。

如果您开启了并行查询,则所有版本的 Aurora MySQL 2 均可在亚太地区(海得拉巴)区域使用。对于所有其他区域,只有 2.09.0 及更高版本可用。Aurora MySQL 兼容版 3 不可用。

您只能查看特定区域的性能详情主动建议。要查看支持的区域列表,请参阅支持性能详情功能的 Amazon Aurora 数据库引擎、区域和实例类

除中国(北京)和中国(宁夏)以外的所有区域都支持数据库洞察。有关详细信息,请参阅支持性能详情功能的 Amazon Aurora 数据库引擎、区域和实例类

实例类型

以下数据库实例类不支持性能详情和数据库洞察:

  • db.t2
  • db.t3
  • db.t4g.micro 和 db.t4g.small

您无法分析一段时间内的数据库性能,也无法查看有关 db.serverless 实例类的性能详情主动建议。

IAM 策略

以下是如何使用 IAM 策略访问性能详情的常见示例:

要访问数据库洞察,必须使用以下开放访问权限:

  • cloudwatch:*
  • logs:*
  • rds:*
  • pi:*

**注意:**最佳做法是遵循最低权限原则。有关详细信息,请参阅数据库洞察所需的权限

MySQL 性能架构

性能架构是一项可选的 MySQL 功能,可监控内部事件,对性能的影响最小。

性能架构监控的指标类型取决于您配置的管理模式设置:

  • 如果您将 Performance Schema(性能架构)设置为 ON (Automatic management mode)(打开(自动管理模式)),则可以获得详细的低级指标。
  • 如果将 Performance Schema(性能架构)设置为 ON (Manual management mode)(打开(手动管理模式)),则会获得部分详细指标。
  • 如果将 Performance Schema(性能架构)设置为 OFF (Management mode N/A)(关闭(管理模式不适用)),则不会收到等待事件报告,只能访问基本指标。

如果您无法在性能详情控制面板上查看详细的低级指标,请重置以下参数并将 Source column(来源列)设置为 Engine default(引擎默认值):

  • performance_schema=1
  • performance-schema-consumer-events-waits-current=ON
  • performance-schema-instrument: wait/%=ON
  • performance_schema_consumer_global_instrumentation=ON
  • performance_schema_consumer_thread_instrumentation=ON

有关详细信息,请参阅 Aurora MySQL 上性能详情的性能架构概述

SQL 文本配额

“性能详情”控制面板有最大文本大小的配额。如果您的文本超过配额,则无法在性能详情控制面板上查看整个查询。要解决此问题,请缩小文字大小。

资源利用情况

如果您的数据库实例负载过重,则您的集群会将资源专用于数据库进程。因此,集群会降低系统进程(例如性能详情)的优先级。要检查您的数据库实例是否负载过重,请查看 CPU utilization(CPU 利用率)和 FreeableMemory CloudWatch 指标。

要解决此问题,请执行以下操作:

数据库实例的暂时性网络问题或系统维护

当您的数据库实例遇到临时网络问题或系统维护时,性能详情可能无法正确报告数据。要对受影响的资源进行故障排除,请查看 AWS Health Dashboard

无法查看性能详情数据

如果您开启了性能详情但无法查看数据,请在性能详情控制面板上查看数据库负载图表和计数器指标。如果计数器指标下有数据,但数据库负载图表上没有数据,则您的数据库负载可能低于 MySQL 的数据库负载阈值。

要测试此问题,请在您的 MySQL 数据库实例上运行长时间运行的事务,然后再次检查性能详情控制面板。如果数据填充,则您的原始数据库负载低于阈值。

要解决此问题,请等待数据库负载增加后再查看性能详情控制面板。随着数据库负载的不断增加,控制面板数据会随之填充。

相关信息

Analyzing Amazon RDS database workloads with Performance Insights(使用性能详情分析 Amazon RDS 数据库工作负载)

Monitor query performance with Performance Insights on Amazon RDS for Microsoft SQL Server(在 Amazon RDS for Microsoft SQL Server 上使用性能详情监控查询性能)

性能详情

在 Amazon Aurora 上使用性能详情监控数据库负载

AWS 官方已更新 3 个月前