对于 EC2 实例而言,哪个读取访问速度更快;“本地”驱动器还是附加的 EBS 卷?
我有一些需要持久保存的数据,因此已将其放在 EBS 卷上。我使用的是 OpenSolaris,因此此卷已作为 ZFS 池附加。但是,我有大量 EC2 磁盘空间将闲置,因此我考虑将其重新用作 ZFS 缓存卷,但如果磁盘访问速度比 EBS 卷慢,我不想这样做,因为这可能会产生不利影响。
答案1
只是想对 EBS 更快的共识再补充一点......
这里需要理解的一点是实例存储速度不可预料的- 亚马逊对此不做任何保证。
此信息来自书籍云应用程序架构George Reese 所著(就我目前所读内容而言,这本书似乎还不错。)它包含一个表格,标题为EC2 数据存储选项比较(第 41 页);下面是该表的片段(书中还比较了其他几个特征):
S3 Instance EBS
Speed Low Unpredictable High
Reliability Medium High High
Durability Super high Super low High
因此,实例存储可能有时在读取访问方面优于 EBS,但如果你想要持续的高速,你确实需要使用 EBS。正如 Reese 在他的书中所说:
另一个问题是实例存储的性能不可预测。您可能实际上认为它应该比其他选项更快,有时确实如此。然而,有时它慢得令人难以置信 - 比通过 10bT 以太网连接挂载 NFS 还慢。另一方面,EBS 始终为您提供通过 GB 以太网连接挂载 SAN 的性能。
答案2
我们在系统探索这个问题和相关问题时花费了大约 1000 美元的 AWS 费用,并发布了广泛的分析。
对于随机(小)读取,我们发现“本地”(EC2 实例)存储和 EBS 具有相似的性能,但本地存储具有更好的延迟尾部。
对于顺序(批量)读取,EBS 在 m1.small 上更快,但本地在 m1.large 上更快。我们没有直接比较其他实例类型上的本地和 EBS,但我们确实发现增加实例大小对本地存储性能的影响远大于对 EBS 性能的影响。
还有一个成本问题。通过将 I/O 从 EBS 转移到本地磁盘,您可以降低 AWS 费用。
答案3
如果你关注亚马逊的数据库性能,你可能会发现这篇文章很有用: http://www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/
从我自己的研究来看(已经读了几周的文章),总体感觉是 EBS 是更快的选择。
答案4
我在 EBS 卷上运行过 MySQL 实例,对其性能感到满意。我也没有任何硬数据,但它表现得很好。