Reliant Technology - Storage Performance MetricsWhen measuring the performance of flash storage, the most commonly used performance benchmarks are throughput and IOPS. But latency may be an even more important metric to consider.

Reducing latency is a major concern for users, and manufacturers have responded by moving flash storage into servers, onto faster buses like PCIe, and even onto memory buses. So, what exactly is the difference between IOPS and latency in terms of performance benchmarking and why may latency be a better performance metric for your storage environment?

Throughput, Bandwidth, and IOPS

Throughput describes the amount of data able to flow through a point in the data path over a given time. For data that need to be streamed rapidly, such as images or video files, throughput is the metric most often used.

“Bandwidth” is a similar term, meaning the ability to support a given level of throughput. Throughput and bandwidth are typically measured in bits per second, when using networking terminology, and bytes per second when using storage terminology.

IOPS, on the other hand, (which stands for Input/Output operations per second) measures the number of storage transactions processed through a system each second. IOPS are used to describe performance in cases involving smaller data objects, like web traffic logs.

Latency, the Uber Metric

Latency is essentially the time required for a sub-system to process a single data request or transaction. With disk drives, read latency is the time required for the controller to first find the correct block and place the head over the data block. It also includes the time required to spin up the disk platters to begin the process. With flash, read latency includes the time to navigate through the various network connectivity such as fibre, iSCSI, PCIe bus, and memory bus. Once that navigation path is completed, latency also includes the time needed to find the required data blocks and to prepare to transfer data.

For write operations on a flash device in a steady-state, latency can also include the time the controller takes for overhead activities such as block erase and copy in preparation for new data. For these reasons, write latency is usually greater than read latency in flash systems.

IOPS and Latency

Since IOPS measures the aggregate of subsystem transactions in a given second, latency can have a direct effect on IOPS. But focusing solely on IOPS as a performance metric can be misleading. While IOPS describes the number of transactions a system can sustain per second, it does not measure the amount of data each transaction delivers, which can vary widely with block size.

To maintain high IOPS performance, storage systems need enough pending data requests so that the latencies of a few individual requests don’t adversely impact overall IOPS. With low queue depths, latency becomes a bigger factor. And with storage and flash systems, low queue depth is a common occurrence.

Having adequate transactions in queue is necessary for top SSD performance, but large queue depths can actually hide latency in the short run. Essentially, the system can process a large number of transactions per second from the queue (high IOPS) while taking a long time to complete those transactions (high latency). So IOPS may look fine in the short-term, but the system’s ability to improve long-term performance may actually be poor.

The Best Metric

Storage device performance can be difficult to compare accurately, since measurements vary between environments and applications. In some cases, having high throughput makes for good performance. In others, high IOPS, or supporting a high number of short processes, is preferable. Muddying the waters even further, factors such as queue depth, block size, and degree of parallelism can increase an environment’s throughput and IOPS, but without benefitting overall application performance.

This is why latency can be a more dependable performance metric. As a primary factor in both IOPS and throughput calculations, latency has a fundamental impact on storage performance. And since reducing latency will always improve performance, it should be one the first things to consider when evaluating storage performance.

For more information on how to assess the performance of your environment, reach out to one of our storage experts at 1.877.227.0828 today.