IOPS, Throuhput, Latency Explained: Understanding SSD, HDD Storage Performance Benchmarks
Several weeks ago, we published an article on some of what we consider the best benchmarking applications for testing HDD and SSD performance. After the article was published, we realized that while most of us familiar with storage benchmarking can easily discern what each of the results mean, those not familiar with storage testing have little to no idea what stuff like MB/s, IOPS, or ms actually means and more importantly what the numbers tell us in the grand scheme of storage performance.
As such, today we’ll be covering what most of the storage industry would consider as the trifecta of storage performance: IOPS, Throughput, and Latency.
IOPS, or Input Output Operations per Second, is exactly as the name implies. IOPS measures how many input output operations are completed every second. As such, the higher the IOPS, the faster the storage device. This is the biggest reason as to why SSDs (Solid State Drives) are so much faster than HDDs (Hard Disk Drives). Whereas a typical consumer HDD can do about 100-200 IOPS when reading 4K sized data, a typical consumer SATA SSD can do between 70,000-100,000 IOPS. As most operating system and application files are stored in thousands of small 4K sized datafiles, SSDs clearly have the advantage in this regard.
One thing to keep in mind when testing IOPS is that the number of IOPS a drive can reach will depend on the size of the data being transferred. As smaller sized data such as 4K data doesn’t take very long to transfer, it results in higher IOPS while larger data such as 128K sized data takes longer to transfer which will result in lower IOPS.
Throughput is the most prominent metric used when HDD and SSD manufacturers advertise their products and is simply a measure of the speed at which data is transferred. As such, it goes without saying that the higher the throughput, the better.
However, as small files don’t allow drives enough time to reach its maximum speed, throughput is only a good measure of drive performance when transferring larger files. In our test above, the SSD was able to reach a maximum of 554 MB/s which is the maximum speed one could expect when operating on the SATA interface.
Latency is generally defined as how long it takes for an IO operation to be completed from beginning to end. As such, latency is very much connected to IOPS and the size of the files you’re working with.
In our test above, we can see that the average latency is just 0.05ms, which is very good for a consumer drive. IOmeter, the benchmarking app used, will also provide maximum latency, which in this case is 3.06ms. The maximum latency is important as it shows the worst case scenario for the drive being tested. Typically a sub-10ms latency is decent for a consumer SSD.
Hopefully, this gives you a basic idea of what to look out for when benchmarking a new storage device whether it’s a SSD or a HDD. While there are many different metrics beyond the trifecta, understanding IOPS, Throughput and Latency will provide a good foundation to understanding as to how to interpret storage performance.