How to Calculate Storage Performance: IOPS, Throughput, and Latency
Storage system performance is one of the key factors affecting application speed and user satisfaction. But how do you objectively assess whether your storage has enough power? Three key metrics are used: IOPS (Input/Output Operations Per Second), throughput, and latency. In this article, we break down what these metrics mean, how to calculate them, what workload profiles exist, and how to interpret the results to choose the optimal storage system — whether it’s an all‑flash array, a hybrid storage system, or a scale‑out object storage system.
1. What Are IOPS and How to Measure Them
IOPS (Input/Output Operations Per Second) is the number of read or write operations a storage system can perform per second. The higher the IOPS, the more transactions the storage can handle.
IOPS depend on many factors:
- Drive type — NVMe SSDs deliver hundreds of thousands of IOPS, SATA SSDs deliver tens of thousands, HDDs deliver only hundreds.
- Block size — the smaller the block, the higher the IOPS at the same throughput.
- Read/write ratio — reads are usually faster than writes (due to caching).
- Queue depth — the number of parallel requests; increasing depth often improves IOPS up to a certain point.
To calculate required IOPS, you can use a simple formula:
IOPS = (Total transactions per second) × (Average I/O operations per transaction) × (Safety factor 1.2–1.5)
For example, if your application performs 10,000 transactions per second, each transaction generates an average of 3 I/O operations, and you add a 30% safety margin, the required IOPS = 10,000 × 3 × 1.3 = 39,000 IOPS.
2. Throughput
Throughput is the volume of data a system can transfer per unit of time, usually measured in MB/s or GB/s. This metric is critical for streaming workloads: video editing, backup, large analytical queries.
Throughput and IOPS are related through block size:
Throughput (MB/s) = IOPS × Block size (MB)
For example, if a storage system delivers 10,000 IOPS with an 8 KB block size, the throughput is 10,000 × 0.008 = 80 MB/s. With a 1 MB block size, the throughput would be 10,000 × 1 = 10,000 MB/s (10 GB/s). It is important to understand that maximum throughput is limited by interfaces (SAS, FC, Ethernet) and the controller’s internal bus.
3. Latency
Latency is the time from sending a request to receiving a response. It is measured in milliseconds (ms) or microseconds (µs). Low latency is critical for interactive applications (databases, web services).
- HDD latency — 5–10 ms (mechanical heads).
- SATA SSD latency — 0.2–0.5 ms.
- NVMe SSD latency — 0.05–0.1 ms.
- All‑flash array with NVMe‑oF — can deliver latency below 0.05 ms.
Latency consists of controller time, drive access time, network latency (for SAN and NAS), and queuing delays. The higher the storage load, the higher the latency due to resource contention.
The relationship between the three metrics
These three metrics are interrelated: as IOPS or throughput increases, latency usually increases because the system operates at its limit. The ideal storage system provides the required IOPS and throughput with minimal latency. All‑flash arrays offer the best balance.
4. Workload Profiles: 70/30, 50/50, 80/20
The read/write ratio significantly affects performance. Most enterprise applications have mixed workloads:
- 70% reads / 30% writes (70/30) — typical for OLTP databases, web applications. Read cache works effectively here.
- 50% / 50% — balanced systems, such as file servers with active file exchange.
- 80% reads / 20% writes — analytical systems, reporting storage.
- 90% writes / 10% reads — log collection systems, backup.
When calculating performance, keep in mind that write operations are usually slower than reads due to the need for synchronisation with protected cache and RAID arrays. Vendors provide IOPS figures for each workload profile.
5. Factors Affecting Real‑World Performance
In addition to the three main metrics, storage performance is affected by:
- Block size — small blocks (4–8 KB) give high IOPS but low throughput. Large blocks (1 MB) do the opposite.
- Queue depth — the number of parallel I/O requests. The optimal queue depth depends on the controller and drive type.
- Caching — read cache accelerates repeated reads; write cache groups operations for batch writes to disks.
- RAID level — RAID 10 offers the best performance; RAID 5/6 require additional parity calculations.
- Deduplication and compression — reduce the volume of written data but consume controller resources.
- Network latency — for SAN (FC, iSCSI, NVMe‑oF) and NAS, network latency is an important factor.
6. How to Measure the Performance of an Existing Storage System
For real‑world performance measurement, use synthetic tests (e.g., FIO, IOmeter, Vdbench) or built‑in monitoring tools (iostat, perf). Recommendations:
- Test with different block sizes and queue depths.
- Measure both peak and average performance.
- Simulate the real workload profile (read/write ratio, random or sequential access).
- Conduct tests during peak hours and low‑activity periods to understand capacity headroom.
We can help with load testing your current storage and selecting the optimal configuration for an upgrade.
7. Performance Calculation Example for a Business Case
Suppose you are deploying a database management system (DBMS) with 5,000 users, each performing 10 transactions per minute. That’s 5,000 × 10 / 60 ≈ 833 transactions per second. Each transaction generates 2 read operations and 1 write operation (3 total operations). So 833 × 3 = 2,499 operations per second. With a 30% safety margin, that’s ~3,250 IOPS. The average block size is 8 KB. Throughput: 3,250 × 0.008 = 26 MB/s. Latency should not exceed 5 ms for a comfortable user experience.
This load can be handled by a hybrid array like Lenovo DE4000H or an entry‑level all‑flash solution. For higher requirements (10,000+ IOPS), a professional all‑flash array is needed.
8. Frequently Asked Questions (FAQ)
What IOPS are needed for VMware virtualisation?
What is more important: IOPS or throughput?
How does block size affect performance?
How often should storage performance be recalculated?
Accurate performance calculation — the foundation of an efficient infrastructure
We help calculate the required IOPS, throughput, and latency for your project, and select the optimal storage system considering your budget and growth plans.
Get a performance consultationIn the next article, we will explain software‑defined storage (SDS) and how it differs from traditional storage systems. Stay tuned!