查看 Aurora 和 RDS 数据库建议 - AWS Compute Optimizer

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

查看 Aurora 和 RDS 数据库建议

Compute Optimizer 为适用于 MySQL 的 RDS、适用于 PostgreSQL 的 RDS、Amazon Aurora 数据库生成数据库实例、RDS 数据库实例存储和 Aurora 数据库集群存储建议。这些建议显示在 Compute Optimi zer 控制台的 Aurora 和 RDS 数据库推荐以及 Aurora 和 RDS 数据库的详细信息页面上。这两个页面都分为两个独立的选项卡:实例存储

  • Aurora 和 RDS 数据库推荐页面

    实例

    此选项卡显示您当前的每个 Aurora 和 RDS 数据库实例、查找分类、查找原因、当前实例类型、预计节省额和节省机会。Compute Optimizer 的首要建议列在每个实例旁边。该建议包括推荐的实例类型、按需定价以及与当前实例之间的价格差异。使用推荐页面将您当前的实例与最受欢迎的推荐实例进行比较。这样做可以帮助您决定是要扩大还是缩小实例规模。

    存储

    此选项卡显示您当前的每个 RDS 实例存储卷和 Aurora 数据库集群存储配置、查找分类、当前存储类型和当前价格。Compute Optimizer 的首要推荐列在您的每个卷或集群旁边。对于 RDS 数据库实例存储,它包括推荐的卷类型、推荐的 IOPS、建议的价格以及当前卷与建议卷之间的价格差异。对于 Aurora 数据库集群,它包括推荐的存储类型、估计的集群成本(实例、存储和 I/O)以及可能节省的费用。您可以使用建议页面将您当前的存储配置与其最佳建议进行比较,这可以帮助您决定是否应该更改存储类型。

    有关如何查看 Aurora 和 RDS 数据库建议的更多信息,请参阅访问 Aurora 和 RDS 数据库的建议和详细信息

  • Aurora 和 RDS 数据库详情页面

    实例

    此选项卡显示针对特定 RDS 数据库实例或 Aurora 数据库实例的优化建议。此页面列出了每项建议的规格,包括性能风险、价格差异和按需定价。

    存储

    此选项卡显示 RDS 数据库实例存储或 Aurora 数据库集群存储的优化建议。对于 RDS 数据库实例存储,它列出了每项建议的规格,包括分配的存储、预配置 IOPS、吞吐量和存储价格差异。对于 Aurora 数据库集群,它会显示存储类型建议以及按实例、存储和 I/O 组件细分的估计成本,以及启用增强型基础设施指标后的 I/O 成本变异性信息。

    两个详情页面都显示利用率指标图表,您可以使用这些图表将当前实例或存储与建议选项的预计利用率指标进行比较。这些指标图有助于您更好地了解这些建议的影响。

    有关如何查看 Aurora 和 RDS 数据库详细信息的更多信息,请参阅访问 Aurora 和 RDS 数据库详情页面

建议每天刷新,最多可能需要 12 小时才能生成。请记住,Compute Optimizer 需要至少 30 小时的亚马逊 CloudWatch 指标才能为亚马逊 RDS 数据库实例生成建议。有关更多信息,请参阅 资源要求

结果分类

Aurora 和 RDS 数据库建议页面上的查找结果列汇总了您的 Amazon Aurora 和 RDS 数据库实例、RDS 数据库实例存储以及 Aurora 数据库集群在回顾期内的表现。

Aurora and RDS DB instances

以下发现分类适用于数据库实例。

分类 描述

预调配不足

当 Compute Optimizer 检测到 CPU、内存、网络带宽、EBS IOPS 或 EBS 吞吐量不足时,RDS 数据库实例被视为配置不足。Compute Optimizer 会显示发现原因,例如 CPU 配置不足、内存配置不足、E BS IOPS 配置不足和网络带宽配置不足。RDS 数据库实例预置不足可能会导致应用程序性能不佳。

过度预调配

当 Compute Optimizer 检测到 CPU、EBS IOPS、网络带宽或 EBS 吞吐量过多时,RDS 数据库实例被视为过度配置。Compute Optimizer 会显示发现的原因,例如 CPU 过度配置、EBS IOPS 过度配置、网络宽过度配置和 EBS 吞吐量过度配置。RDS 数据库实例预置过度可能会导致额外的基础设施成本。

已优化

当 RDS 数据库实例的规格满足工作负载的性能要求时,RDS 数据库实例即被视为已优化。对于已优化的实例,Compute Optimizer 可能会建议新一代数据库实例类或新的引擎版本可供选择。

RDS DB instance storage

以下发现分类适用于 RDS 数据库存储。

分类 描述

预调配不足

当 Compute Optimizer 检测到分配的存储空间或 EBS 吞吐量不足时,RDS 存储卷被视为配置不足。Compute Optimizer 会显示 EBS 卷分配的存储预置不足EBS 卷吞吐量预置不足的结果原因。RDS 数据库实例存储卷预置不足可能会导致应用程序性能不佳。

过度预调配

当 Compute Optimizer 检测到 IOPS 或 EBS 吞吐量过高时,RDS 数据库实例存储卷被视为过度配置。Compute Optimizer 会显示 EBS 卷 IOPS 预置过度EBS 卷吞吐量预置过度的结果原因。数据库实例存储卷预置过度可能会导致额外的基础设施成本。

已优化

当 RDS 数据库实例存储卷的规格满足工作负载的性能要求时,存储即被视为已优化。对于已优化的数据库实例存储,Compute Optimizer 可能会建议新一代存储类型。

有关配置不足和过度配置的 RDS 数据库实例的更多信息,请参阅主题结果原因中的。查看 Aurora 和 RDS 数据库建议

Aurora DB clusters

以下发现分类适用于 Aurora 数据库集群。

分类 描述

已优化

Compute Optimizer 发现,从成本角度来看,Aurora 数据库集群存储的配置需要优化。

未优化

Compute Optimizer 发现,如果您将 Aurora 数据库集群从 Aurora 标准存储切换到 Aurora I/O 优化存储,则可以节省成本。Compute Optimizer 显示了何时将 DBClusterStorageSavingsAvailableAurora I/O O-Optimizer 确定为首选选项的原因。

有关亚马逊 Aurora 数据库集群的更多信息,请参阅亚马逊 Aurora 用户指南中的亚马逊 Auror a 存储

结果原因

RDS 数据库实例和 RDS 数据库实例的建议详情页面上的查找原因列显示了 Amazon Aurora 和 RDS 数据库实例、RDS 数据库实例存储和 Aurora 数据库集群的 Compute Optimizer 调查结果的规格。

Aurora and RDS DB instances

以下结果原因适用于 RDS 数据库实例:

结果原因 描述

CPU 过度预调配

数据库实例的 CPU 配置可以缩小,也能满足工作负载的性能要求。这可以通过分析当前实例在回顾期间的 CPUUtilization 指标来确定。

CPU 预调配不足

数据库实例的 CPU 配置不符合您的工作负载的性能要求,并且还有其他实例类型可以提供更好的 CPU 性能。这可以通过分析当前实例在回顾期间的 CPUUtilization 指标来确定。

内存预调配不足

数据库实例的内存配置不符合您的工作负载的性能要求,并且没有其他实例类型可以提供更好的内存性能。

对于 RDS MySQL 和 RDS PostgreSQL 数据库实例,如果启用了 Amazon RDS Performance Insights,则通过分析os.swap.in当前实例的os.swap.out和指标来识别这一点。要启用 Aurora 的 Performance Insights,请参阅亚马逊 Aurora 用户指南中的开启和关闭 Aurora 的性能见解

对于 Aurora 数据库实例,如果启用了 Amazon RDS Performance Insights,则通过分析当前实例的os.memory.outOfMemoryKillCount指标来识别这一点。对于 Aurora MySQL 数据库实例,Compute Optimizer 还会分析 Aurora 内存运行状况指标。要启用 Aurora 的 Performance Insights,请参阅亚马逊 Aurora 用户指南中的开启和关闭 Aurora 的性能见解

EBS 吞吐量过度预调配

数据库实例的 EBS 吞吐量配置可以缩小,也能满足工作负载的性能要求。这可通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadBytesVolumeWriteBytes 指标来确定。

EBS 吞吐量预调配不足

数据库实例的 EBS 吞吐量配置不符合您的工作负载的性能要求,并且还有另一种实例类型可以提供更好的 EBS 吞吐量性能。这可通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadBytesVolumeWriteBytes 指标来确定。

EBS IOPS 过度预调配

数据库实例的 EBS IOPS 配置可以缩小,也能满足工作负载的性能要求。这可通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadOpsVolumeWriteOps 指标来确定。

EBS IOPS 预调配不足

数据库实例的 EBS IOPS 配置不符合您的工作负载的性能要求,并且还有另一种实例类型可以提供更好的 EBS 吞吐量性能。这可通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadOpsVolumeWriteOps 指标来确定。

网络带宽过度预调配

数据库实例的网络带宽配置可以缩小,同时仍满足工作负载的性能要求。对于 RDS MySQL 和 RDS PostgreSQL 数据库实例,这是通过分析NetworkIn回顾期间当前实例的NetworkOut 和指标来识别的。

网络带宽预调配不足

数据库实例的网络带宽配置不符合您的工作负载的性能要求,并且还有其他实例类型可以提供更好的网络带宽性能。

对于 RDS MySQL 和 RDS PostgreSQL 数据库实例,这是通过分析NetworkIn回顾期间当前实例的NetworkOut和指标来识别的。

对于 Aurora 数据库实例,这是通过分析回顾期内当前实例的NetworkThroughputStorageNetworkThroughput指标来识别的。

实例存储读取 IOPS 配置不足

数据库实例的实例存储读取 IOPS 限制不符合您的工作负载的性能要求,并且还有其他实例类型可以提供更好的性能。对于 Aurora 数据库实例,这是通过在回顾期间分析ReadIOPSEphemeralStorage指标来识别的。

实例存储写入 IOPS 配置不足

数据库实例的实例存储写入 IOPS 限制不符合您的工作负载的性能要求,并且还有其他实例类型可以提供更好的性能。对于 Aurora 数据库实例,这是通过在回顾期间分析WriteIOPSEphemeralStorage指标来识别的。

数据库集群写入器配置不足

这表明 Compute Optimizer 已将此 Aurora 数据库实例只读副本的建议与数据库集群的写入器同步,因为该数据库集群的提升等级 < 或 = 到 1。Compute Optimizer 这样做是为了帮助您保持故障转移容量。

新一代数据库实例类可用

如果当前数据库实例是上一代实例类型,Compute Optimizer 会生成此结果原因,以表明有新一代数据库实例类型可用。我们建议您使用最新一代的实例类型以获得最佳性能。

新的发动机版本可用

如果当前引擎版本已过时,Compute Optimizer 会生成此结果原因,以表明有新的引擎版本可用。

RDS DB instance storage

以下结果原因适用于 RDS 数据库实例存储。

结果原因 描述

EBS 卷分配的存储空间配置不足

EBS 卷分配到数据库实例的存储空间量不符合您的工作负载的性能要求,并且还有另一种卷类型可以提供更好的分配存储性能。这可通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadOpsVolumeWriteOps 指标来确定。

EBS 卷 IOPS 配置过剩

附加到数据库实例的 EBS 卷 IOPS 配置可以缩小,也能满足工作负载的性能要求。这可通过分析回顾期间附加到当前实例的 EBS 卷的 VolumeReadBytesVolumeWriteBytes 指标来确定。

EBS 卷吞吐量配置不足

数据库实例所连接的 EBS 卷吞吐量大小不符合您的工作负载的性能要求,并且还有另一种卷类型可以提供更好的卷吞吐量性能。

EBS 卷吞吐量已超额配置

附加到数据库实例的 EBS 卷吞吐量可以缩小,也能满足工作负载的性能要求。

新一代存储类型可用

如果当前数据库实例存储是上一代存储类型,Compute Optimizer 会生成此结果原因,以表明有新一代存储类型可用。我们鼓励您使用最新一代的存储类型以获得最佳性能。

Aurora DB clusters

以下发现原因适用于 Aurora 数据库集群。

分类 描述

DBClusterStorageSavingsAvailable

通过将 Aurora 数据库集群从 Aurora 标准存储切换到 Aurora I/O 优化存储,可以节省成本。您的集群的 I/O 使用模式表明,Aurora I/O 优化的可预测定价模式比 Aurora 标准的可变 I/O 成本更具成本效益。当 I/O 优化被确定为群集的首选推荐选项时,就会出现此查找原因。

DBClusterStorageOptionAvailable

Aurora I/O 优化版被发现是您的 Aurora 数据库集群的可行替代存储选项。虽然从成本角度来看,您当前的存储配置被认为是优化的,但切换到 Aurora I/O O-O-Optimized 可以带来诸多好处,例如更可预测的每月成本,并通过消除可变的 I/O 费用来简化预算。当 I/O 优化显示为集群的第二个推荐选项时,就会出现此查找原因。

AWS 基于 Graviton 的实例推荐

在查看 Amazon RDS 数据库实例建议时,您可以查看在 AWS 基于 Graviton 的实例上运行工作负载对价格和性能的影响。为此,请在 CPU 架构首选项下拉列表中选择 Graviton (aws-arm64)。否则,选择当前以查看针对与当前 RDS 数据库实例相同的 CPU 供应商和架构而生成的建议。

当前价格建议价格价格差异价格差异(%)预估月度节省列已更新,提供当前数据库实例类型与所选 CPU 架构首选项的实例类型之间的价格比较。例如,如果您选择 Graviton(aws-arm64),则会在当前数据库实例类型和建议的基于 Graviton 的实例类型之间进行价格比较。

预计每月节省额和节省机会

预计月度节省(折扣后)

“实例”选项卡

本栏列出了您在预留实例定价模式下将工作负载从当前数据库实例或类型迁移到推荐类型后所节省的大概每月成本。要获得带有预留实例折扣的推荐,请激活节省预估模式首选项。

“存储”选项卡

此列会列出在特定折扣下,将 RDS 数据库实例存储卷从当前规格迁移到建议规格后每月可节省的大致成本。对于 Aurora 数据库集群,考虑到所有成本组成部分(实例、存储和 I/O 成本),这表示在 Aurora 标准存储类型和 Aurora I/O 优化存储类型之间切换所节省的费用。要接收带有特定折扣的推荐,请激活储蓄估算模式首选项。

有关更多信息,请参阅节省估算模式

注意

如果不激活节省估算模式首选项,“实例”和“存储”选项卡上的这一列都会显示默认的按需定价折扣信息。

预计月度节省(按需)

“实例”选项卡

本列列出了在按需定价模式下,通过将工作负载从当前数据库实例类型迁移到推荐的实例类型,可以节省的大概每月成本。

“存储”选项卡

此列会列出将 RDS 数据库实例存储卷从当前规格迁移到建议规格后每月可节省的大致成本。对于 Aurora 数据库集群,考虑到实例、存储和 I/O 成本组成部分,这包括当前存储类型与推荐存储类型之间的总成本差额。

节省机会(%)

此列列出了当前实例的价格与推荐的数据库实例类型的价格之间的百分比差异。如果激活了节省估算模式,Compute Optimizer 会分析预留实例定价折扣,以生成节省机会百分比。如果未激活节省估算模式,Compute Optimizer 将仅使用按需定价信息。有关更多信息,请参阅节省估算模式

对于 Aurora 数据库集群存储建议,这表示当前存储类型和推荐存储类型之间总成本(实例、存储和 I/O)的百分比差异。

重要

如果您在中启用成本优化中心 AWS Cost Explorer,Compute Optimizer 将使用成本优化中心数据(包括您的特定定价折扣)来生成建议。如果未启用成本优化中心,Compute Optimizer 将使用 Cost Explorer 数据和按需定价信息来生成您的建议。有关更多信息,请参阅《AWS Cost Management 用户指南》中的启用 Cost Explorer成本优化中心

预计每月节省额计算

对于每项建议,Compute Optimizer 都会使用推荐的规格计算运行新 RDS 数据库实例或存储的成本。根据当前实例或存储的运行小时数,以及当前规格与建议规格之间的费率差异,计算出每月估计节省额。Compute Optimizer 控制面板上显示的 RDS 数据库实例和存储的每月估计节省额是账户中所有过度预置结果的每月估计节省额的总和。

性能风险

RDS 数据库实例详细信息页面和 RD S 数据库实例建议页面上的性能风险列定义了当前和推荐的实例类型不符合您的工作负载要求的可能性。Compute Optimizer 会针对当前实例和推荐实例的每种规格计算单独的性能风险评分。这包括 CPU、EBS 吞吐量和 EBS IOPS 等规格。当前实例和推荐实例的性能风险按所分析的资源规格中的最高性能风险分数计算。

这些值包括“极低”、“低”、“中”、“高”和“极高”。性能风险非常低意味着预计实例类型将始终提供足够的功能。性能风险越高意味着在迁移资源之前,您应该验证实例是否满足工作负载的性能要求。决定是否要进行优化以便提高性能和/或节省资金。

比较图表

Amazon RDS 数据库详情页面显示您当前和推荐的 RDS 数据库实例的利用率指标图表以及回顾期内的存储数据。Compute Optimizer 使用每个 5 分钟时间间隔内的最大利用率点生成 RDS 数据库实例和存储建议。

可以更改图表以显示过去 24 小时、3 天、1 周或 2 周的数据。也可以在平均值和最大值之间更改图表的统计数据。

Aurora 和 RDS 数据库详情页面上显示了以下比较图。

RDS DB instances

显示了 RDS 数据库实例的以下图表:

图表名称 描述

CPU 使用率

数据库实例上正在使用的已分配计算单元的百分比。此指标确定在实例上运行应用程序所需的处理能力。

数据库连接(计数)

连接到数据库实例的客户端会话数。

网络接收吞吐量(MiB/秒)

数据库实例的传入(接收)网络流量,包括用于监控和复制的客户数据库流量和 Amazon RDS 流量。

网络传输吞吐量(MiB/秒)

数据库实例的传出(传输)网络流量,包括用于监控和复制的客户数据库流量和 Amazon RDS 流量。

EBS 读取操作数(每秒)

每秒平均磁盘读取 I/O 操作数。

EBS 写入操作数(每秒)

每秒平均磁盘写入 I/O 操作数。

EBS 读取吞吐量(MiB/秒)

每秒从磁盘读取的平均字节数。

EBS 写入吞吐量(MiB/秒)

每秒写入磁盘的平均字节数。

EBS IO 余额(百分比)

RDS 数据库突增存储桶中剩余的 I/O 积分的百分比 此指标仅对基本监控可用。

EBS 字节余额(百分比)

RDS 数据库突增存储桶中剩余的吞吐量积分的百分比 此指标仅对基本监控可用。

可用存储空间

可用存储空间的大小。

数据库负载

数据库中的会话活动级别。有关更多信息,请参阅《Amazon Relational Database Service 用户指南》中的数据库负载

换入(KB)

从磁盘换入的内存量(以 KB 为单位)。

换出(KB)

换出到磁盘的内存量(以 KB 为单位)。

注意

只有启用 Amazon RDS 性能详情后,才能使用数据库负载换入(KB)换出(KB)指标。要为您的数据库实例启用性能详情,请参阅《Amazon Relational Database Service 用户指南》中的为 Amazon RDS 打开和关闭 Performance Insights

Aurora DB instances

显示了 Aurora 数据库实例的以下图表:

图表名称 描述

CPU 使用率

Aurora 数据库实例占用的 CPU 百分比。

内存利用率

应用程序和操作系统分配的已用内存百分比。

数据库连接(计数)

连接到数据库实例的客户端会话数。

网络接收吞吐量(MiB/秒)

Aurora 数据库集群中每个实例从客户端接收的网络吞吐量。此吞吐量不包括 Aurora 数据库集群中的实例与集群卷之间的网络流量。

网络传输吞吐量(MiB/秒)

Aurora 数据库集群中每个实例发送到客户端的网络吞吐量。此吞吐量不包括数据库集群中的实例与集群卷之间的网络流量。

存储网络读取吞吐量 (MiB/秒)

数据库集群中每个实例从 Aurora 存储子系统接收的网络吞吐量。

存储网络写入吞吐量 (MiB/秒)

Aurora 数据库集群中每个实例发送到 Aurora 存储子系统的网络吞吐量。

Aurora 内存生命值状态

指示内存运行状况。值 0 代表 NORMAL。值 10 代表 RESERVED,这表示服务器的内存使用量已接近临界水平。

注意

此指标仅适用于 Aurora MySQL。

Aurora 被拒绝的 SQL 查询的内存数量

作为避免 out-of-memory (OOM) 的一部分,查询总数被拒绝。

注意

此指标仅适用于 Aurora MySQL。

Aurora 内存中已关闭的连接数

作为避免发生 OOM 的一部分而关闭的连接总数。

注意

此指标仅适用于 Aurora MySQL。

Aurora 内存中已终止的查询数

作为避免发生 OOM 的一部分而结束的查询总数。

注意

此指标仅适用于 Aurora MySQL。

缓冲区缓存命中率

缓冲区缓存提供的请求的百分比。当推荐使用 Optimized Reads 数据库实例类类型作为选项时,会显示此图表,以帮助您评估它是否适合您的工作负载。

读取 IOPS 临时存储

对临时 NVMe 存储进行磁盘读取操作的平均次数。

注意

此指标适用于支持本地连接的非易失性内存 express (NVMe) 存储的实例。

写入 IOPS 临时存储

对临时 NVMe 存储进行磁盘写入操作的平均次数。

注意

此指标适用于支持本地连接的非易失性内存 express (NVMe) 存储的实例。

读取 IOPS

每秒平均磁盘读取 操作数。

写入 IOPS

每秒生成的 Aurora 存储写入记录数。这或多或少是由数据库生成的日志记录数。这些不对应于 8K 页写入次数,也不对应于发送的网络数据包。

数据库负载

数据库的活动会话的数量。通常,您需要活动会话的平均数量数据。在 Performance Insights 中,这些数据以 db.load.avg 的形式进行查询。

有关更多信息,请参阅亚马逊 Aurora 用户指南中的亚马逊 Aurora CloudWatch 指标

注意

只有启用了 Aurora 的 Performance Insights 后,数据库负载图表才可用。要启用 Aurora 的 Performance Insights,请参阅亚马逊 Aurora 用户指南中的开启和关闭 Aurora 的性能见解

Aurora DB clusters

显示了 Aurora 数据库集群的以下图表:

图表名称 描述

VolumeBytesUsed

您的 Aurora 数据库集群使用的存储空间量。

VolumeReadIOPs

每隔 5 分钟集群卷中计费读取 I/O 操作的数量。

VolumeWriteIOPs

集群卷的写入磁盘 I/O 操作数,每隔 5 分钟报告一次。