Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

Windows 实例上的 Amazon EBS 卷性能

几个因素 (包括 I/O 特性以及实例和卷的配置) 会对 Amazon EBS 的性能造成影响。客户如按照 Amazon EBS 和 Amazon EC2 产品详细信息页面上的指导操作,通常能获得很好的性能。但是,在某些情况下,您可能需要进行一些调整才能在此平台上获得最好的性能。本主题讨论特定于某些使用案例的一般最佳实践和性能调整。除了基准测试之外,我们建议您根据实际工作负载信息来调整性能,以确定最佳配置。当您学习了使用 EBS 卷的基础知识后,最好了解一下所需的 I/O 性能,以及可用于提升 Amazon EBS 性能以满足这些要求的选项。

Amazon EBS 性能提示

这些提示代表了在各种用户场景下能够获得最佳 EBS 卷性能的最佳实践。

使用 EBS 优化的实例

对于不支持 EBS 优化吞吐量的实例,网络流量可能会与实例和 EBS 卷之间的流量产生冲突;而在 EBS 优化实例中,这两种流量相互独立。部分 EBS 优化实例配置 (如 C3、R3 和 M3) 会产生额外成本,另一些实例 (如 M4、C4、C5 和 D2) 始终可进行 EBS 优化而不会产生额外成本。有关更多信息,请参阅 Amazon EC2 实例配置

了解如何计算性能

度量 EBS 卷的性能时,应了解所需采用的度量单位以及如何计算性能,这十分重要。有关更多信息,请参阅 I/O 特征和监控

了解您的工作负载

EBS 卷的最高性能、I/O 操作的大小和数量,以及完成每个操作所需时间之间存在着某种关系。这些因素 (性能、I/O 和延迟) 相互影响,不同应用程序对各个因素的敏感程度也不同。

请注意,在从快照初始化卷时,可能会有性能损失

当您首次访问从快照还原的新 EBS 卷上的每个数据块时,延迟会大大增加。您可以在将卷用于生产之前访问每个数据块,以避免这种性能影响。此过程称为初始化 (以前称为预热)。有关更多信息,请参阅 初始化 Amazon EBS 卷

可能降低 HDD 性能的因素

如果创建吞吐优化 HDD (st1) 或Cold HDD (sc1) 卷的快照,则在快照处理过程中,性能可能会降低,最坏情况下会降低到卷的基准值。这种情况是这些卷类型特有的。其他可能会限制性能的因素包括迫使吞吐量超过实例的支持能力,在初始化从快照还原的卷时损失性能,以及卷上的小型随机 I/O 过多。有关计算 HDD 卷的吞吐量的更多信息,请参阅 Amazon EBS 卷类型

如果您的应用程序没有发送足够多的 I/O 请求,性能可能也会受影响。这可通过查看卷的队列长度和 I/O 大小来监控。队列长度是您的应用程序向卷发起的待处理 I/O 请求的数量。为实现最大程度的一致性,在执行 1 MiB 的顺序 I/O 时,HDD 卷必须保持 4 或更大的队列长度 (四舍五入为最近的整数)。有关确保卷的性能一致的更多信息,请参阅I/O 特征和监控

st1sc1 上高吞吐量、读取操作量大的工作负载增大预读取值

一些工作负载读取操作量大,并会访问操作系统页缓存中的块储存设备 (例如,从文件系统访问)。在这种情况下,为了实现最大的吞吐量,我们建议您将预读取设置配置为 1 MiB。每个块储存设备的设置不同,应该只应用于您的 HDD 卷。以下示例假设您在使用 Amazon Linux 实例。

要检查您的块储存设备的当前预读数值,请使用以下命令:

Copy
[ec2-user ~]$ sudo blockdev --report /dev/<device>

块储存设备信息采用以下格式返回:

RO    RA   SSZ   BSZ   StartSec            Size   Device
rw   256   512  4096       4096      8587820544   /dev/<device>

以上显示的设备报告预读取值为 256 (默认值)。将此数字乘以扇区大小 (512 字节) 就可获得预读取缓冲区的大小,在此例中为 128 KiB。要将缓冲区值设置为 1 MiB,请使用以下命令:

Copy
[ec2-user ~]$ sudo blockdev --setra 2048 /dev/<device>

再次运行第一个命令,验证预读取设置现在显示 2048。

仅当您的工作负载包括大型顺序 I/O 时,才使用此设置。如果它主要包含的是小型随机 I/O,则此设置会降低性能。一般来说,如果工作负载主要包括小型随机 I/O,则应考虑使用通用型 SSD (gp2) 卷,而不是 st1sc1

使用 RAID 0 最大程度利用实例资源

某些实例类型可以实现的 I/O 吞吐量大于可以为单个 EBS 卷配置的量。可以将多个 gp2io1st1sc1 卷一起加入到 RAID 0 配置中,以将可用带宽用于这些实例。有关更多信息,请参阅 Windows 上的 RAID 配置

使用 Amazon CloudWatch 跟踪性能

Amazon Web Services 提供了您可以使用 Amazon CloudWatch 来分析和查看的 Amazon EBS 性能指标,以及可以用于监控卷运行状况的状态检查。有关更多信息,请参阅 监控您的卷状态

本页内容: