AWS EBS: What is IOPS?
Asked Answered
Z

2

5

EBS talks about IOPS. However, what does IOPs actually mean?

I have found this online:

"IOPS (input/output operations per second) is a popular performance metric used to distinguish one storage type from another."

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. Thus far IOPs in my mind is a unit that is not tied to a physical measure. Hence the question of what actually is an IOP?

Zoophilous answered 2/11, 2020 at 18:3 Comment(2)
Each read operation can only read up to the block size, typically 4096 bytes.Startling
Does this answer your question? IOPS vs Throughput. Which one to use while choosing AWS EBSMuticous
M
5

As @jordanm already mentioned in a comment to your question, each read operation can only read up to the block size. And the block size of GUID partition table (GPT), which is a common partitioning scheme, is 4096 bytes.

You can calculate throughput in MB/s by multiplying IOPS with block size. So given an IOPS of 3000 and a default block size of 4096 bytes (4KB) you would have:

3,000 * 4KB = 12,000 KB/s = ca. 12 MB/s
Midden answered 2/11, 2020 at 18:24 Comment(0)
E
7

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).

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.

In the above example in simple terms of the disk has 3000 IOPs, it would take 10.42 seconds to perform this read operation. 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.

A more detailed breakdown is available in the I/O characteristics and monitoring documentation.

Execution answered 2/11, 2020 at 18:20 Comment(0)
M
5

As @jordanm already mentioned in a comment to your question, each read operation can only read up to the block size. And the block size of GUID partition table (GPT), which is a common partitioning scheme, is 4096 bytes.

You can calculate throughput in MB/s by multiplying IOPS with block size. So given an IOPS of 3000 and a default block size of 4096 bytes (4KB) you would have:

3,000 * 4KB = 12,000 KB/s = ca. 12 MB/s
Midden answered 2/11, 2020 at 18:24 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.