在 EC2 实例上读取访问速度更快;“本地”驱动器或附加的 EBS 卷?
我有一些需要保留的数据,因此已将其放在 EBS 卷上。我使用的是 OpenSolaris,因此该卷已作为 ZFS 池附加。但是,我有一大块 EC2 磁盘空间将未使用,因此我正在考虑将其重新用作 ZFS 缓存卷,但如果磁盘访问速度慢于EBS 卷的影响,因为它可能会产生不利影响。
在 EC2 实例上读取访问速度更快;“本地”驱动器或附加的 EBS 卷?
我有一些需要保留的数据,因此已将其放在 EBS 卷上。我使用的是 OpenSolaris,因此该卷已作为 ZFS 池附加。但是,我有一大块 EC2 磁盘空间将未使用,因此我正在考虑将其重新用作 ZFS 缓存卷,但如果磁盘访问速度慢于EBS 卷的影响,因为它可能会产生不利影响。
只是为了增加 EBS 更快的共识......
这里要理解的重要一点是实例存储速度是不可预测的——亚马逊对此不做任何保证。
该信息来自 George Reese 所著的Cloud Application Architectures一书(从我目前浏览的内容来看,这似乎相当不错。)它包括一个标题为“EC2 数据存储选项比较”的表格(第 41 页);这是该表的一个片段(在书中比较了其他几个特征):
因此,实例存储在读取访问方面有时可能会胜过 EBS,但如果您想要恒定的高速,您确实需要使用 EBS。正如里斯在他的书中所说:
在系统探索此问题和相关问题的过程中,我们收取了大约 1000 美元的 AWS 费用,并发布了广泛的分析。
对于随机(小)读取,我们发现“本地”(EC2 实例)存储和 EBS 具有相似的性能,但本地存储具有更好的延迟尾部。
对于顺序(批量)读取,EBS 在 m1.small 上更快,但在 m1.large 上本地更快。我们没有在其他实例类型上直接比较本地与 EBS,但我们确实发现增加实例大小对本地存储性能的影响远大于对 EBS 性能的影响。
还有一个成本问题。通过将 I/O 从 EBS 转移到本地磁盘,您将降低 AWS 费用。
如果您在 Amazon 中追求数据库性能,您可能会发现这篇文章很有用: http ://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/
我自己的研究(已经阅读了几个星期)的总体感觉是 EBS 是更快的选择。
亚马逊模糊地声称 EBS 通常会优于 EC2 实例上的“本地”临时分区。我知道我在自己使用的 EBS 卷上经历了更高的吞吐量,但我没有费心去测量延迟。
如果您对特定用途的性能感到好奇,最好的选择可能是设置一个测试实例。我知道我会的。
我已经在 EBS 卷上运行 MySQL 实例,并且对它们的性能感到满意。我也没有任何硬数据,但它表现得很好。