Disk IOPS Calculator
Calculate disk IOPS, throughput, and latency for HDD and SSD storage configurations. Compare RAID levels and analyze storage performance.
Disk IOPS Calculator
Calculator
Adjust values & calculateEnter your values below. Every result is computed in your browser โ no data is sent to any server.
Formula: IOPS = 1000 / (Seek Time + Rotational Latency + Transfer Time)
Worked example โ Blended IOPS: ~726 | Read: 1,379 | Write: 345 | Throughput: 2.84 MB/s
Formula
IOPS = 1000 / (Seek Time + Rotational Latency + Transfer Time)
IOPS is calculated by dividing 1000 milliseconds by the total service time per IO operation. For HDDs this includes mechanical seek time and rotational latency. For SSDs, the service time is dominated by electronic access latency. RAID configurations multiply or penalize these base IOPS depending on the level.
Worked Examples
Example 1: Enterprise HDD Array (RAID 5)
Problem:Calculate IOPS for 8 x 15K RPM drives in RAID 5 with 70/30 read/write ratio and 4KB blocks.
Solution:Single disk: Seek 3.5ms + Rotation 2.0ms + Transfer 0.3ms = 5.8ms Single disk IOPS = 1000 / 5.8 = 172 IOPS RAID 5 read IOPS = 172 x 8 = 1,379 RAID 5 write IOPS = 172 x 8 / 4 = 345 Blended (70/30): 1 / (0.7/1379 + 0.3/345) = 726 IOPS Throughput = 726 x 4KB = 2.84 MB/s
Result:Blended IOPS: ~726 | Read: 1,379 | Write: 345 | Throughput: 2.84 MB/s
Example 2: NVMe SSD Performance
Problem:Calculate IOPS for a single NVMe SSD with 0.02ms seek, no rotational latency, 0.005ms transfer at 4KB blocks.
Solution:Service time = 0.02 + 0 + 0.005 = 0.025ms IOPS = 1000 / 0.025 = 40,000 random IOPS (conservative) Note: Real NVMe SSDs achieve 500K+ IOPS through parallelism and queue depth Throughput = 40,000 x 4KB = 156.25 MB/s per queue
Result:Base IOPS: 40,000 per queue | Throughput: 156.25 MB/s | Scales with queue depth
Frequently Asked Questions
What is IOPS and why is it important for storage performance?
IOPS stands for Input/Output Operations Per Second and is the primary metric for measuring storage device performance for random workloads. It represents how many discrete read or write operations a storage device can perform in one second. IOPS is critical for applications that generate many small, random access patterns such as databases, virtual machine hosts, email servers, and transactional applications. A traditional 7200 RPM hard drive delivers about 75 to 100 random IOPS, while a consumer SATA SSD can deliver 50,000 to 100,000 IOPS, and enterprise NVMe SSDs can exceed 1,000,000 IOPS. Insufficient IOPS causes application slowdowns, increased latency, and poor user experience in storage-intensive workloads.
How is IOPS calculated from disk specifications?
IOPS for a single disk is calculated by dividing 1000 by the total service time in milliseconds per IO operation. The total service time equals seek time plus rotational latency plus data transfer time. For hard drives, seek time is the time for the read/write head to move to the correct track, typically 3 to 12 milliseconds. Rotational latency is half the time for one full disk rotation, which is 4.17 milliseconds for 7200 RPM and 2.0 milliseconds for 15000 RPM drives. Transfer time depends on the data rate and block size. For SSDs, there is no mechanical seek or rotation, so the service time is dominated by the electronic access latency, typically 0.05 to 0.2 milliseconds, resulting in dramatically higher IOPS.
How does RAID configuration affect IOPS performance?
Different RAID levels have significantly different IOPS characteristics. RAID 0 stripes data across all disks, multiplying both read and write IOPS by the number of disks. RAID 1 mirrors data, providing read IOPS equal to the number of disks but write IOPS of only half since every write must be duplicated. RAID 5 distributes parity across disks, offering good read IOPS but suffering a write penalty of approximately 4 IO operations per write due to the read-modify-write cycle for parity calculation. RAID 6 has an even higher write penalty of approximately 6 IO operations per write. RAID 10 combines striping and mirroring, offering the best write performance among redundant configurations at roughly half the total disk IOPS for writes.
What is the difference between random and sequential IOPS?
Random IOPS measures performance when accessing data scattered across different locations on the storage device, requiring the disk to seek to new positions for each operation. Sequential IOPS measures performance when reading or writing data in contiguous blocks. For hard drives, the difference is dramatic because sequential access eliminates seek time and rotational latency. A typical HDD might deliver 100 random IOPS but 300 to 500 sequential IOPS. SSDs show much less difference between random and sequential performance because they have no mechanical components, though sequential access still benefits from read-ahead caching and command queuing. When evaluating storage for databases, random IOPS is the more relevant metric because database queries access records scattered across the storage.
How does block size affect IOPS and throughput?
Block size has an inverse relationship with IOPS and a direct relationship with throughput. Smaller block sizes like 4 KB achieve the highest IOPS because each operation transfers less data and completes faster. Larger block sizes like 256 KB or 1 MB reduce IOPS because each operation takes longer to transfer, but they increase total throughput measured in megabytes per second. For example, a device doing 100,000 IOPS at 4 KB blocks delivers 400 MB per second throughput, while 10,000 IOPS at 256 KB blocks delivers 2,500 MB per second throughput. The optimal block size depends on the workload: databases typically use 4 to 16 KB blocks, while streaming and backup applications use 64 KB to 1 MB blocks for maximum throughput.
How does queue depth turn latency into IOPS?
Little's Law ties the two together: the number of outstanding requests equals IOPS multiplied by average latency. A device with a 100 microsecond service time handling one request at a time yields 10,000 IOPS; keep 32 requests in flight and, if the device genuinely has that much internal parallelism, it approaches 320,000. That is why flash needs deep queues to reach its rated figure while a single mechanical actuator cannot exploit them. Past saturation, extra queue depth stops adding IOPS and simply inflates latency.
How do I work out rotational latency from a drive's RPM?
One revolution takes 60,000 divided by RPM milliseconds, and average rotational latency is half that, because the wanted sector sits on average half a turn away from the head. A 7200 RPM disk revolves in 8.33 ms and so averages 4.17 ms; 10,000 RPM gives 3.0 ms; 15,000 RPM gives 2.0 ms. Add average seek and transfer time to get service time, then take the reciprocal for IOPS. Set this field to zero for flash, which has no platter and therefore no rotational component.
Why is the RAID 5 write penalty exactly four operations?
A small write that does not cover a whole stripe cannot just overwrite its block, because the parity block must stay consistent with it. The controller reads the old data block, reads the old parity block, computes the new parity by XOR, then writes the new data and the new parity - four back-end operations for one host write. RAID 6 maintains two independent parity blocks, so the same cycle costs six. Full-stripe writes skip the read phase entirely, which is why large sequential writes largely escape the penalty.
What is the difference between an SSD's burst and steady-state write performance?
Headline numbers are usually burst figures measured on a fresh, empty drive. NAND must be erased a whole block at a time before it can be rewritten, so once the fast SLC-mode cache fills and the pool of free blocks shrinks, garbage collection begins relocating valid pages and competes with host traffic. Write amplification - physical writes divided by host writes - rises and sustained IOPS settles well below the burst rate. Precondition a drive with a long random write run before benchmarking, and leave over-provisioning space to soften the fall.
How many disks do I need to hit a target application IOPS?
Convert front-end IOPS into back-end IOPS first, then divide by the per-disk figure. For 1,000 application IOPS at a 70/30 read/write mix on RAID 5, reads cost 700 operations and writes cost 300 x 4 = 1,200, so the array must deliver 1,900 back-end IOPS. At roughly 180 IOPS for a 15K RPM drive that is 1,900 / 180 = 10.6, meaning eleven spindles. Size for the peak rather than the daily average, and leave headroom for rebuild traffic after a failure.
References
Background & Theory
History
Reviewed for accuracy by Daniel Agrici, Founder & Lead Developer ยท Editorial policy
Related Calculators
๐งฎBandwidth Time Transfer Calculator
Calculate bandwidth time transfer with inputs, formulas, and instant results.
๐งฎDownload Time Calculator
Calculate download time with inputs, formulas, and instant results.
๐งฎThroughput Efficiency Calculator
Calculate throughput efficiency with inputs, formulas, and instant results.
๐งฎBase64 Encode & Decode Calculator
Calculate base64encode decode with inputs, formulas, and instant results.
๐งฎHash Checksum Calculator
Calculate hash checksum with inputs, formulas, and instant results.
๐งฎUrlpercent Encoding Calculator
Calculate urlpercent encoding with inputs, formulas, and instant results.
๐งฎCron Expression Builder Calculator
Calculate cron expression builder with inputs, formulas, and instant results.
๐งฎMTBF/MTTR Calculator
Calculate mtbf mttrcalculator with inputs, formulas, and instant results.