EBS 使用在什么时候成为瓶颈?

ESW*_*ESW 10 performance amazon-ebs amazon-web-services

我有一个使用 EBS 卷支持的 EC2 实例托管在 Amazon 上的站点。在周末,流量激增,我使实例变大,这有很大帮助 - 我不再看到 CPU 使用率飙升至 100% 并且服务器变得无响应。

但是,我确实注意到磁盘读取量也非常高(无法帮助,我不认为)并且我想知道,在什么时候我会看到某种故障,因为磁盘无法保持向上?

正如您从附加的屏幕截图中看到的那样,它在周末达到了 80MB/分钟的最大值。有没有人有使用 AWS 的经验并且知道在什么时候我必须转移到多负载平衡实例,因为 EBS 成为瓶颈?

EBS 使用图

acu*_*ich 5

首先要记住,对您的 I/O 性能影响最大的是您使用的实例类型

Instance Type   I/O Performance
-------------   ---------------
t1.micro        Low
m1.small        Moderate
m2.xlarge       Moderate
c1.medium       Moderate
m1.large        High
m1.xlarge       High
m2.2xlarge      High
m2.4xlarge      High
c1.xlarge       High
cc1.4xlarge     Very High (10 Gigabit Ethernet)
cc2.8xlarge     Very High (10 Gigabit Ethernet)
cg1.4xlarge     Very High (10 Gigabit Ethernet)
Run Code Online (Sandbox Code Playgroud)

至于 EBS 卷和您将获得的性能,正如AWS 常见问题所建议的那样,您需要对您的应用程序进行基准测试以查看预期结果:

问:我可以从 Amazon EBS 卷中看到什么样的延迟和吞吐率?从 Amazon EC2 实例到 Amazon EBS 卷的延迟类似于您从本地 Amazon EC2 实例存储驱动器看​​到的延迟。根据请求的大小、访问模式的随机性以及应用程序使用的缓存策略,I/O 速率可能会有很大差异。因此,最准确的衡量标准是在 Amazon EBS 卷上对您的特定应用程序进行基准测试。

这意味着您获得的 EBS 费率不一定比本地实例存储更差或更好;这实际上取决于您的数据访问行为。

更多信息在AWS EBS 页面上

Amazon EBS 卷性能

Amazon EBS 卷旨在为跨数据集执行大量随机访问的应用程序提供比 Amazon EC2 实例存储更高的吞吐量。您还可以将多个卷附加到一个实例并跨卷条带化以进一步提高吞吐量。

确切的性能将取决于应用程序(例如随机与顺序 I/O 或大与小请求大小),因此最好的衡量标准是根据容量对您的实际应用程序进行基准测试。由于 Amazon EBS 卷需要网络访问,因此您将看到更大实例的更快、更一致的吞吐量性能。

还要记住,I/O 性能不仅包括磁盘 IO,还包括网络流量……因此,您的实例获得的网络流量越多,您获得的磁盘 IO 就越少。

根据您所提供的服务,如果您的应用程序类型可能的话,对象的内存缓存可能会有很大帮助。

此外,这里有一些博客文章,它们对 EBS 和本地(临时)卷在各种 RAID 配置中的性能进行了基准测试,并进行了调整以获得良好的 IO 性能:

RAID 中的 EC2 临时磁盘与 EBS 卷

Amazon EC2 I/O 性能:本地临时磁盘与 RAID 0 条带化 EBS 卷

从亚马逊的 EBS 获得良好的 IO

  • 这个网站似乎也有很好的信息:http://www.ec2instances.info/ (2认同)