IOPs and Block Size

The Jargons used in the performance world. Some times they are overwhelming. Hence explaining them in the simplest way.

MR Sam
MR Ron

Mr Sam and Mr Ron are friends. They both are daily wage workers. They both wanted to open a bank account in ABC bank. But Back is asking $500 as a deposit.

Mr Sam earns $20 per day. Mr Ron earns $175 per day. On a request from both of them bank agreed to allow daily deposit and open an account for them. Mr Sam will be able to complete the target of $500 in 5 visits to the back for daily deposit. Whereas Mr Ron will take 50 visits to complete for the target.

Visit = IOPs

Per Day amount = Block Size

Bank = Storage

Deposit = Amount of Data to be stored.

IOPs (Input / Output Commands Per Second) / Incoming and Outgoing commands per second / ​​​​​​​Read / Write transactions

We can say Number of visits to the bank are IOPs to complete the target.

Block Size

The amount of data that can be sent to / stored on the disk in a chunk​​​​​​​. Here we can say that Mr Sam used $100 as a Block Size. Whereas Mr Ron used $10 as a block size.

Therefore Mr Ron needs 50 visits/IOPs to complete the target where Mr Sam needs 5 visits/IOPs to complete the same target. Which indicates that the number of IOPs is inversely proportionate to Block Size. The Bigger the block size lesser the visits/IOPs and vice versa.

If we want to translate the above analogy in Storage technology.

Here we have one Storage and two hosts. Host A is configured with 10GB block size, and Host B is configured with Block Size 100GB. Whereas from both the hosts, we need to send 500GB of data to storage. Now we know Host 1 needs 50 IOPs to complete the target, whereas Host B needs 5 IOPs.

Notice: All the numbers in this example are used for easy understanding. Practically there are no storage allows 10GB or 100GB as a block size.

Many vendors’ IOPS claims assume a 4KB block size, which is not always a usable figure in the real world. For example, a workload might require a 32KB block size for an array that is advertising the ability to support 80,000 IOPS at 4KB, that comes down to 10,000 IOPS at a 32KB block size.

Hence we need to understand the workload and select the appropriate storage.

I hope now you have a clear understanding of the IOPs and Block Size. Please let me know if there are any questions. I will be happy to answer them. Please leave the comments.

Leave a comment