contained, and recoverable.
The four numbers that matter
Storage performance is usually described with throughput and IOPS, but latency and queue depth determine how that performance feels to an application. A database making small synchronous writes cares about a different metric than a media pipeline reading large sequential files.
- Latency measures how long one operation takes.
- IOPS measures how many operations complete each second.
- Throughput measures the amount of data transferred over time.
- Queue depth measures how many operations are waiting or active.
Benchmark your actual access pattern
Synthetic tests are useful only when their block size, read-write mix, concurrency, and dataset resemble production. Testing a 4 KB random workload tells you little about a service that streams 1 MB objects.
Use a dataset larger than available memory to avoid measuring the operating system cache. Record tail latency, not only averages, because the slowest operations often set the user-visible response time.
Watch the whole data path
Fast drives cannot compensate for constrained networking, an overloaded filesystem, or application-level locking. Observe the request from application to disk and compare host metrics with application traces before deciding where to scale.