IOPS 与吞吐量。选择 AWS EBS 时使用哪一种

2024-05-21

在选择合适的 EBS 卷类型时,我需要决定IOPS 或吞吐量是否是更好的性能衡量标准。 https://docs.aws.amazon.com/en_us/AWSEC2/latest/UserGuide/EBSVolumeTypes.html
问题是我不完全理解它们在哪种实际场景中比另一个更好。
这位医生说“frequent读/写操作smallI/O 大小”对于 IOPS 来说是完美的。

  • 但是关于frequent操作与high输入/输出大小?
  • 不频繁操作与high输入/输出大小?
  • 不频繁操作与small输入/输出大小?

为什么吞吐量不是“小 I/O 大小的频繁读/写操作”的完美衡量标准?

我找不到答案this https://stackoverflow.com/questions/15759571/iops-versus-throughput and this https://stackoverflow.com/questions/37058095/what-does-iops-in-amazon-ebs-mean-in-practice问题。


让我们尝试解释一下什么是吞吐量和 I/O。

  • I/O 是对磁盘的访问次数。每次需要读取文件时,您需要“至少”访问该文件一次。然而,内容是以“块”的形式读取的,每次读取“块”时都会请求新的 I/O。 想象一下咬一块巧克力,你至少需要接触一次巧克力,然后你开始咬(I/O)直到你结束它。每咬一口都是一次 I/O。您需要多个 I/O 才能吞下整个条。

  • IOPS 是每秒 I/O。速度。所以基本上我们吃巧克力棒的速度有多快。 IOPS EBS 是专门用于执行快速咬合的卷:Ñam-Ñam-Ñam 与 Ñam------Ñam-----Ñam

  • 吞吐量是您在每个 I/O 中读取的信息量。按照这个例子,你可以用两种不同的方式吃整块巧克力,小口(小吞吐量)或大口(大吞吐量),这取决于你的嘴巴大小。 吞吐量 EBS 卷专门用于执行大咬合:Ñam 与 Ñaaaaaaaam

I/O 和吞吐量相关吗?当然。如果您必须从 EBS 读取一个大文件,并且您的吞吐量很小(也就是说,您的嘴很小,所以您的咬合力也很小),那么您需要更频繁地访问(I/O),直到文件被完全读取。 讷姆-讷姆-讷姆-讷姆

另一方面,如果你有一个大嘴(大吞吐量),那么你将需要更少的咬合和更少的 I/O。 啊啊啊——啊啊啊

所以他们可以以某种方式相互平衡,但是......有一些极端情况:

a) 想象一下你有一个非常小的文件(或巧克力纳米棒)。 ---在这种情况下,即使是最小的嘴也足够了。无论是大嘴还是小嘴,您只需咬一口就能吃掉整根纳米棒。

b) 想象一下你有一桶无数的微小文件(或巧克力纳米棒) ---在这种情况下,即使是最小的嘴也足以吞下每一块。大或小的吞吐量都不会给你带来更好的性能。然而,拥有 IOPS(每秒 I/O)将提高您的性能。吞吐量 EBS 卷的性能比 IOPS 卷差得多。

c) 想象一下您有一桶包含无数大文件的桶。 --- 因此,您需要大文件的吞吐量,并且需要 IOPS 进行多次访问。那么你可能应该选择 EBS 通用型(它已经爆裂)

有了这个,你应该能够给出一个答案,但对我来说:

但是对于高 I/O 大小的频繁操作怎么办? --> EBS 通用。这里的“高”和“频繁”要求均衡的音量。

不频繁进行高 I/O 大小的操作? --> EBS 吞吐量。 你需要一张尽可能大的嘴。

不频繁操作小 I/O 大小?--> 警告! 对您来说“小”尺寸是多少?如果它们确实很小,那么我可能会选择 IOPS,因为大/小口(吞吐量)不会产生很大的差异。如果那些“不频繁”变成“频繁”(更多用户?更复杂?)将从 IOPS 中受益。也许您也可以通过 EBS 通用来生存。 但是,第二个警告,“不频繁操作”是什么意思那些不经常访问的文件?在这种情况下,您应该检查冷硬盘

与往常一样,建议只是建议……最好的(因为你可能会对自己的“小”感感到惊讶)是在你有疑问的情况下测试性能。

用例:

  • 工作负载 -> 通常是通用体积
  • 数据库 -> 通常为 IOPS(数据量小但检索频繁)
  • 大数据/数据仓库 -> 通常吞吐量(大数据文件)
  • 冷 HDD -> 冷文件服务器(迁移到磁性之前最低 IOPS)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IOPS 与吞吐量。选择 AWS EBS 时使用哪一种 的相关文章

随机推荐