AWS EBS:什么是IOPS?

问题描述

EBS谈论IOPS。但是,IOP到底是什么意思?

我在网上找到了这个

“ IOPS(每秒输入/输出操作)是一种流行的性能指标,用于区分一种存储类型与另一种存储类型。”

好的,但是我们在谈论什么类型的输入/输出操作?假设我要读取1GB的文件而不是1MB的文件,我无法想象两者都只是一个IOP。到目前为止,我眼中的IOP是一个与物理度量无关的单位。因此,问题是什么是IOP?

解决方法

单个IOP是一项操作(读取或写入),不应以与人类看到操作(例如访问1个文件就是1个操作)相同的方式来观察。

如果单个IOP操作用于32KB块,而您尝试读取的是1GB文件,则总数为31250 IOP,但是此度量标准是IOP,因此您要关注的值是这些操作的总数每秒可以做。

在上面的示例中,简单来说,磁盘具有3000个IOP,执行此读取操作将花费10.42秒。但是,这只是简单的说法,并且存在许多过度因素,包括与并行发生的其他操作的争用。另外,使用模式通常更为随机,这导致IOP的使用根据需求而变化。

I/O characteristics and monitoring文档中提供了更详细的细分。

,

正如@jordanm在对您的问题的评论中已经提到的那样,每个读取操作最多只能读取块大小。常见的分区方案GUID分区表(GPT)的块大小为4096字节。

您可以通过将IOPS乘以块大小来计算以MB / s为单位的吞吐量。因此,鉴于IOPS为3000,默认块大小为4096字节(4KB),您将拥有:

3,000 * 4KB = 12,000 KB/s = ca. 12 MB/s