EC2上的读取访问速度更快;本地驱动器还是EBS?


11

EC2实例上的读取访问速度更快;“本地”驱动器还是附加的EBS卷?

我有一些数据需要保留,因此已将其放在EBS卷上。我正在使用OpenSolaris,因此该卷已作为ZFS池附加。但是,我有大量未使用的EC2磁盘空间,因此我正在考虑将其重新用作ZFS缓存卷,但是如果磁盘访问的速度慢于此,我就不想这样做。 EBS的数量,因为它可能会产生不利影响。

Answers:


13

只是为了增加一些共识,即EBS更快...

这里要了解的重要一点是实例存储速度是不可预测的 -Amazon无法对此做出保证。

此信息来自George Reese 撰写的《Cloud Application Architectures》一书(从我迄今为止浏览的内容看,这似乎还不错。)它包含一个标题为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性能。


4
我有完全相反的经历。EBS的表现无法预测。EC2的所有主要停机都涉及EBS。实例存储始终具有可预测的性能。
Joe Van Dyk 2012年

3
因为它是有悖常理的是本地磁盘会更慢(尤其是如果你使用的SSD),这将是很好有更多的信息比“有人说这是更快”
L.布兰克

8

通过系统研究此问题和相关问题,我们花了大约1000美元的AWS费用,并进行了广泛的分析

对于随机(较小)读取,我们发现“本地”(EC2实例)存储和EBS具有相似的性能,但本地存储具有更好的延迟尾巴。

对于顺序读取(批量读取),EBS在m1.small上速度更快,而本地在m1.large上速度更快。我们没有在其他实例类型上直接比较本地和EBS,但是我们确实发现增加实例大小对本地存储性能的影响远大于对EBS性能的影响。

还有一个成本问题。通过将I / O从EBS转移到本地磁盘,您将减少AWS费用。


2

如果您追求亚马逊的数据库性能,则可能会发现本文很有用: http //www.mysqlperformanceblog.com/2009/08/06/ec2ebs-single-and-raid-volumes-io-bencmark/

根据我自己的研究(已经阅读了几周),总体感觉是EBS是更快的选择。


我听说有报告说您应该在驱动器上写一次,因为对位置的初始写操作开销很大。另外,有时您可能会得到一个性能不佳的EBS控制器,因此最好在执行任何关键操作之前检查其速度。我已经看到少量驱动器出现该问题。当我对4个500GB驱动器进行快照时,出现了这种情况,即使使用相同的数据,它们中的1个花费了4-5倍的时间。
Flashman

1

亚马逊已经模糊地声称EBS通常会胜过EC2实例上的“本地”临时分区。我知道自己在使用EBS卷时获得了更高的吞吐量,但是我没有费心去测量延迟。

如果您对特定用途的性能感到好奇,那么最好的选择就是设置一个测试实例。我知道我会的。


1

我已经在EBS卷上运行MySQL实例,并且对其性能感到满意。我也没有任何硬数据,但它的表现还不错。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.