EBS 与 EFS 读写延迟

EBS vs EFS read and write latencies

我将用户的代码存储在文件系统中,目前是 AWS 中的 EBS。我正在寻求提高可用性,并希望减少因 EBS 出现故障而导致中断的可能性。 EFS 似乎是一个合理的选择。

我知道 EFS 会比 EBS 慢,而且 EFS 比 EBS 贵。我想知道有没有做性能基准测试EFS的读写延迟并与EBS进行比较?

EFS 是一个网络文件系统 (NFS)。它为多达数千个 Amazon EC2 实例提供文件系统接口、文件系统访问语义(例如强一致性和文件锁定)以及可同时访问的存储。当然,与 EBS 相比会有 read/write 延迟,因为 EBS 专为低延迟访问数据而设计。

EBS 提供不同的卷类型,它们在性能特征和价格上各不相同,因此您可以根据应用程序的需要定制存储性能和成本。

EFS 易于使用,并提供了一个简单的界面,使您可以快速轻松地创建和配置文件系统。借助 Amazon EFS,存储容量具有弹性,会随着您添加和删除文件而自动增长和收缩,因此您的应用程序可以在需要时获得所需的存储空间。

EFS 性能概述:http://docs.aws.amazon.com/efs/latest/ug/performance.html

EBS 性能概览:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSVolumeTypes.html

This AWS forums thread 向您展示了一些客户在 eFS 延迟和 AWS 反应方面遇到的一些问题。一些客户断言他们有 1 秒以上的延迟,AWS 支持人员说这不正常,他们会进行调查。

我目前在 EU-West 的经验似乎表明,对于一系列 150,000 次每次约 2.5KB 的小型读取操作,我的 EC2<->EFS 以每秒 200 次读取操作达到最大值,因此我们可能会猜测典型有效延迟不超过 1/200 秒或 5 毫秒。

我说 "effective latency" 因为那实际上是在报告带宽,而不是延迟。我还没有编写计时代码来测量往返延迟。

您可以通过购买更大的驱动器(价格中包括更大的 IOPS)或预留 IOPS 来改进它。