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

Phi*_*ham 11 performance zfs amazon-ec2 amazon-ebs amazon-web-services

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

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

Jon*_*nik 13

只是为了增加一点 EBS 更快的共识......

这里要理解的一个重要点是实例存储速度是不可预测的——亚马逊对此不做任何保证。

此信息来自George Reese所著的Cloud Application Architectures一书(从我目前所浏览的内容来看,这本书看起来相当不错。)它包括一个名为比较 EC2 数据存储选项(第 41 页)的表格;这是该表的片段(书中还比较了其他几个特征):

               S3              Instance          EBS

Speed          Low             Unpredictable     High
Reliability    Medium          High              High
Durability     Super high      Super low         High
Run Code Online (Sandbox Code Playgroud)

因此,实例存储有时在读取访问方面的性能可能优于 EBS,但如果您想要恒定的高速,则确实需要使用 EBS。正如里斯在他的书中所说:

另一个问题是实例存储性能的不可预测性。您实际上可能认为它应该比其他选项更快,有时确实如此。然而,有时它慢得令人难以置信——比 10bT 以太网连接上的 NFS 挂载慢。另一方面,EBS 通过 GB 以太网连接始终为您提供 SAN 的性能。

  • 我有过完全相反的经历。EBS 的表现是不可预测的。EC2 的所有主要停机时间都涉及 EBS。实例存储一直具有可预测的性能。 (4认同)
  • 由于本地磁盘会更慢(特别是如果您使用 SSD)是违反直觉的,因此拥有比“有人说它更快”更多的信息会很好 (3认同)

小智 8

我们系统地探索了这个问题和相关问题,并在 AWS 上收取了大约 1000 美元的费用,并发布了广泛的分析

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

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

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