实例存储与EBS优化的EC2或RAID卷的性能比较

4
据我的经验和阅读,很少有情况不使用EBS而使用实例存储。然而,由于实例存储与EC2物理连接,因此一般来说它在磁盘读写方面更快。但是,它比EBS更快多少以及是否在所有情况下都更快,我不知道。
因此,如果有人对以下任何一种情况有经验,请告知它们的相对速度/性能:
1. 使用实例存储的EC2 vs 任何类型EBS的非存储优化EC2 2. 使用实例存储的EC2 vs 使用EBS的存储优化(I3)EC2 3. 使用实例存储的EC2 vs 使用某种EBS RAID的非存储优化EC2 4. 非存储优化的EBS支持EC2 vs 存储优化的EC2 vs 具有EBS RAID配置的EC2 5. 所有上述情况 vs 任何类型的EBS优化实例。
答案越具体、可量化越好 - 谢谢!
2个回答

7

现已推出 - 适用于要求高、I/O 强度大的应用程序的 I3 实例 声称 i3 实例上的 Instance Store:

可以以 4 KB 块为单位提供多达 330 万 IOPS,以及每秒最高可达 16 GB 的顺序磁盘吞吐量。

即将推出 - I2 实例类型 - 通过 SSD 实现高 I/O 性能 声称 i2 实例上的 Instance Store:

可以提供 35 万个随机读取 IOPS 和 32 万个随机写入 IOPS

Amazon EBS 卷类型 列出:

  • 通用 SSD: 单卷最高 10,000 IOPS
  • 预配置 IOPS SSD: 单卷最高 20,000 IOPS
  • 吞吐量优化 HDD: 最大吞吐量为 500 MiB/s(优化了吞吐量而非 IOPS,适用于大块连续读取)

1
我们对一些情况进行了全面的基准测试,比较了EBS和实例存储,具体包括:
  1. EBS SSD普通iops(1TB卷约为3k)
  2. EBS SSD预置iops(1TB卷约为50k)
  3. 实例存储本地磁盘(一个磁盘Raid 0)
  4. 实例存储本地磁盘(两个磁盘条带化Raid 1)
我们得出以下结论,
  1. 与EBS相比,本地磁盘选项在随机访问方面要好得多,这是由于低延迟和iops是限制因素。虽然大多数应用程序尝试避免随机读取,但完全避免很难,因此在这个领域表现良好是一个大加分。
  1. 顺序读取也比EBS要好得多,主要是由于EBS的速率限制,特别是吞吐量。通常,您将获得对本地磁盘的完整、不受限制的访问,其延迟比网络存储(EBS)要低得多。
  1. Raid1对于读取操作的性能比单个磁盘提高了2倍,这并不奇怪。由于需要写入两个磁盘,因此写入操作的性能相同。但是在较大的系统中,您可以拥有4个或更多磁盘,并使用raid10(镜像分条)来提高写入性能。
  1. 不幸的是,正如开头所提到的,本地磁盘选项是短暂的,在实例终止/停止时将丢失数据。即便如此,考虑采用高可用架构也是值得的。
  1. EBS 50K的性能肯定比3K更高,尽管通常需要超过4个线程才能看到真正的差异(例如数据库)。单线程进程不会快多少(例如文件复制、压缩等)。EBS 50k受实例最大iops(30k)的限制,因此通常要注意实例大小也可能成为EBS性能的限制因素。
  1. 可以使用RAID技术来管理EBS,但请注意EBS是一种网络存储,可能会成为性能提升的瓶颈。建议进行单独测试以作比较。

完整的基准测试细节可在以下网址找到:

https://www.scalebench.com/blog/index.php/2020/06/03/aws-ebs-vs-aws-instance-storelocal-disk-storage/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接