These are the 3 concepts that any Sys Admin is interested in when starting to build a Storage system, and who wants to improve the speed of their Cloud Server / Private Cloud. In this article, NTC will dive into the concept of IOPS, while latency and throughput will be devoted to the next post.
IOPS - Input / Output per Second is a measurement unit used for storage devices such as HDD, SSD or SAN - indicating the number of Write or Read tasks completed in 1 second. The number of IOPS is published by device manufacturers, and has nothing to do with performance measurement applications, depending on the feeling that Sys Admin can use different measurement applications (such as IOmeter, DiskSpd ..).

So, what role does IOPS have for Cloud Server?

Most easily, the higher the number of IOPS, the faster the processing speed will be, the more the number of simultaneous tasks will be processed. And of course leading to the performance of the application on the Cloud Server will be higher. But there are also cases when IOPS is too high, reaching the physical limit will cause bottlenecks (IOPS is too high -> high latency -> reduces throughput).
For IOPS, the most important thing we need to pay attention to is the ratio of Read and Write (usually this ratio is 70% (Read) and 30% (Write) - can be customized). The following example will show you how this ratio varies.
How to calculate IOPS and the number of hard drives.
* Assume your storage system uses a 15k SAS drive
Capacity of each drive is 900Gb.
The corresponding Read / Write ratio: 7: 3
RAID 10 configuration
IOPS per Disk is 176
* The requirement is that the true IOPS must be over 1000
At this point, your system only needs 8 hard enough, the number of IOPS of the system is 1200.

RAID LevelCapacityIOPS
RAID 103,215 GB1200
RAID 64,822 GB624
RAID 55,626 GB821

What if we want a Read / Write ratio of 3: 7? Under the same conditions as above, with 8 HDDs, the IOPS number is only 918, if 9 drives, the IOPS will be 1032, and 11 drives will be 1262.
We can also see that when configuring different RAID levels, IOPS and capacity change significantly: higher IOPS the capacity will be reduced, and vice versa. The reason is because each RAID level has the difference in the minimum number of hard drives (Raid Penalty). Therefore, to set up a system close to your needs, Sys Admin needs to clearly determine what its system priority is: Is the application running fast? Security level? storage capacity?
RAID Penalty Required Table - is the minimum number of hard drives corresponding to each RAID level
The formulas in this article:
Total IOPS = IOPS per Disk * Number of hard drives
Real IOPS = (Total IOPS * Write%) / (Raid Penalty) + (Total IOPS * Read%)
Hard drive number = ((Read IOPS) + (Write IOPS * Raid Penalty)) / IOPS per Disk
IOPS table corresponds to each type of hard drive.

What about IOPS on an SSD? If you already want to use an enterprise SSD, then IOPS is great ... right now. Depending on the SSD model, it can be thousands (Intel X25-E ~ 8600 IOPS) or tens of thousands (OCZ Vertex 4 ~ 120,000 IOPS) or even millions if using NVMe drive !!