如何优化 Amazon EBS 预置 IOPS 卷的性能?

上次更新时间:2020 年 3 月 31 日

我想让我的 Amazon Elastic Block Store (Amazon EBS) 预置 IOPS 卷持续提供最优的输入/输出性能。如何进行设置?

解决方法

要提高预置 IOPS (SSD) (io1) 卷的性能,请检查以下各项:

初始化还原的 EBS 卷

虽然新的 EBS 卷不需要初始化(预热),但从快照还原的卷上的存储块必须首先进行初始化,然后才能对其进行访问。有关更多信息,请参阅初始化 Amazon EBS 卷

确认工作负载需求、平均队列长度和 IOPS 速率

卷上的工作负载需求与预置的 IOPS 必须匹配。如果 I/O 延迟高,请检查平均队列长度,以确保应用程序尝试驱动的 IOPS 不会超过您预置的水平。如果 IOPS 超过您预置的水平,同时应用程序对延迟十分敏感,请考虑使用具有更高预置 IOPS 的预置 IOPS (SSD) 卷。有关更多信息,请参阅 Amazon EBS 优化实例

有关最佳卷队列长度的信息,请参阅 I/O 特征和监控中的卷队列长度和延迟部分。

确保 I/O 操作的大小没有限制预置 IOPS

I/O 操作的大小会影响 IOPS。例如,如果 I/O 区块非常大,由于存在每卷 500MiB/s 的吞吐量限制,您的实际 IOPS 可能会少于预置的水平。有关更多信息,请参阅 I/O 特征和监控以及预置 IOPS SSD (io1) 卷。如果您的 I/O 大小一直较大,请考虑在一个 RAID 0 配置中组合多个预置 IOPS (SSD) 卷,从而提高可用的吞吐量。有关更多信息,请参阅 Linux 上的 RAID 配置

检查对 EBS 快照的使用情况以避免产生不必要的费用

EBS 快照提供增强的数据持久性,最佳实践是考虑您的快照拍摄频率和保留设置,以避免产生不必要的 EBS 快照费用。有关更多信息,请参阅 AWS Ops Automator

使用 Amazon CloudWatch 来分析和查看 EBS 性能指标

CloudWatch 控制台将会显示状态检查结果,以帮助监控卷的运行状况。卷的平均队列长度应保持为每 1000 个预置 IOPS 每分钟一个队列(向上取整至最近的整数)。使用 CloudWatch 指标 volumequeuelength 来确定平均队列长度。
有关使用 CloudWatch 的更多信息,请参阅 Amazon EBS 的 Amazon CloudWatch 指标

遵循 AWS Trusted Advisor 性能最佳实践

运行 Amazon EBS 预置 IOPS (SSD) 卷挂载配置检查,以确定已经挂载到 Amazon Elastic Compute Cloud (Amazon EC2) 实例但尚未进行 EBS 优化的预置 IOPS (SSD) 卷。预置 IOPS 卷仅在挂载到 EBS 优化的实例时才能提供预期的性能。有关此项检查的更多信息,请参阅 AWS Trusted Advisor 最佳实践检查 – 性能。请确保对于所有挂载的 EBS 卷,EBS 优化实例类型提供足够的 IOPS 和吞吐量支持。

注意:Amazon EBS 预置 IOPS (SSD) 卷挂载配置最佳实践检查适用于购买了“商业级”或“企业级”支持计划的客户。

测试预置 IOPS (SSD) 卷的性能

模拟与您的应用程序类似的工作负载。有关更多信息,请参阅对 EBS 卷进行基准测试