简体   繁体   English

AWS EBS:什么是 IOPS?

[英]AWS EBS: What is IOPS?

EBS talks about IOPS. EBS 谈论 IOPS。 However, what does IOPs actually mean?然而,IOPs 究竟意味着什么?

I have found this online:我在网上找到了这个:

"IOPS (input/output operations per second) is a popular performance metric used to distinguish one storage type from another." “IOPS(每秒输入/输出操作)是一种流行的性能指标,用于区分一种存储类型。”

Ok, but what type of input/output operation are we talking about?好的,但是我们在谈论什么类型的输入/输出操作? Let's say I want to read a 1GB file vs 1MB I can't imagine that both would be just a single IOP.假设我想读取 1GB 和 1MB 的文件,我无法想象两者都只是一个 IOP。 Thus far IOPs in my mind is a unit that is not tied to a physical measure.到目前为止,我认为 IOP 是一个与物理测量无关的单位。 Hence the question of what actually is an IOP?因此,IOP 究竟是什么?

A single IOP is an operation (either read or write), this should not be seen in the same approach to how humans see actions (such as accessing 1 file is 1 operation).单个 IOP 是一个操作(读或写),这不应该与人类如何看待操作(例如访问 1 个文件是 1 个操作)的相同方法看到。

If a single IOP action is used for a 32KB block and you're attempting to read a 1GB file thats a total of 31250 IOP, however this metric is IOPs so the value you care for is the total number of these operations you can do per second.如果单个 IOP 操作用于 32KB 块,并且您尝试读取一个 1GB 的文件,该文件的总 IOP 为 31250,但是此指标是 IOP,因此您关心的值是您可以执行的这些操作的总数第二。

In the above example in simple terms of the disk has 3000 IOPs, it would take 10.42 seconds to perform this read operation.在上面的例子中,简单来说磁盘有3000个IOP,执行这个读操作需要10.42秒。 However, this is in simple terms and many over factors are in place, including contention with other operations occurring in parallel.但是,这很简单,并且存在许多过度因素,包括与并行发生的其他操作的争用。 Additionally the usage pattern is generally more random which results in the IOP usage varying based on demand.此外,使用模式通常更随机,这导致 IOP 使用根据需求变化。

A more detailed breakdown is available in the I/O characteristics and monitoring documentation. I/O 特性和监控文档中提供了更详细的分类。

As @jordanm already mentioned in a comment to your question, each read operation can only read up to the block size.正如@jordanm 在对您的问题的评论中已经提到的那样,每个读取操作只能读取到块大小。 And the block size of GUID partition table (GPT), which is a common partitioning scheme, is 4096 bytes. GUID分区表(GPT)的块大小是一种常见的分区方案,为4096字节。

You can calculate throughput in MB/s by multiplying IOPS with block size.您可以通过将 IOPS 与块大小相乘来计算以 MB/s 为单位的吞吐量。 So given an IOPS of 3000 and a default block size of 4096 bytes (4KB) you would have:因此,给定 3000 的 IOPS 和 4096 字节 (4KB) 的默认块大小,您将拥有:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM