在选择合适的EBS卷类型时,我需要确定如果IOPS或吞吐量是更好的性能度量。
问题是,我不完全理解在哪种实际情况下,他们每一个都比另一个更好。
这个文档说“频繁使用小的 I/O大小的读/写操作”是IOPS的完美选择。
为什么吞吐量不是“具有小I/O大小的频繁读/写操作”的完美度量?
发布于 2020-05-14 10:52:45
让我们试着解释什么是吞吐量和I/O。
I/O和吞吐量有关系吗?好的。如果您必须从EBS读取一个大文件,并且您的管道很小(也就是您的嘴很小,所以您的咬伤很小),那么您需要更频繁地访问(I/O),直到文件被完全读取为止。阿姆
另一方面,如果你有一个大嘴巴(大吞吐量),那么你将需要更少的咬伤和更少的I/O. aaaam-aaaam。
因此,他们可以在某种程度上平衡彼此,but....there是一些角落的案例:
想象一下你有一个非常小的文件(或者巧克力纳米棒)。-在这种情况下,哪怕是最小的嘴巴也足够了.用一个大或小的嘴,你就能吃下整个纳米棒,只要一口。
假设你有一桶小小的小文件(或巧克力纳米棒)--在这种情况下,即使是最小的嘴也足以吞下每一根。无论是大吞吐量还是小吞吐量,都不会给您带来更好的性能。但是,拥有IOPS (每秒I/O)将提高您的性能。一个吞吐量EBS体积将表现远比IOPS伏鲁门。
想象一下,你有一桶成百亿的大文件。--所以你需要处理大文件,需要IOPS进行多次访问。那么也许你应该去做EBS的一般用途(它已经爆炸了)。
有了这个答案,你应该能想出答案,但对我来说:
但是,高I/O大小的频繁操作怎么办?-> EBS一般用途。在这里,“高”和“频繁”要求一个平衡的音量。
不频繁操作高I/O大小?-> EBS吞吐量。你需要尽可能大的嘴巴。
不频繁操作小I/O大小?->警告!你的“小”尺码是什么?如果他们是真正的小,那么我可能会去IOPS,因为一个大/小的嘴(吞吐量)不会有很大的区别。如果那些“不频繁”变成“频繁”(更多的用户?更复杂?)将从IOPS中受益。也许你也可以通过EBS的一般目的生存下来。但是,第二个警告,“不频繁操作”是什么意思?在这种情况下,您应该检查是否有一个冷HDD。
和往常一样,推荐只是recomendations...and最好的(因为你会对自己的“小”感感到惊讶)是在你有疑问的情况下测试性能。
用例:
发布于 2022-02-20 05:40:26
(只是为了补充Victor的伟大答案)来自AWS基础核心概念文档的,不同存储服务在延迟、吞吐量和IOPS方面的性能特征如下。
如果您正在使用块存储服务(Amazon ):
如果您使用的是文件系统服务(Amazon和Amazon家族)
如果您使用的是对象存储(Amazon )
如果您使用的是存档存储
https://stackoverflow.com/questions/59182414
复制相似问题