IOPS to Throughput (MB/s) & Latency Calculator

Convert between storage IOPS, I/O block size, and throughput (MB/s). Model queue depth, Little's Law latency limits, and cloud volume bottlenecks.

📁 Devops🔒 100% Free & Private⚡ Instant Output
Select a common storage profile or enter custom values.
Input/Output Operations Per Second.
Payload size of each individual I/O read/write operation.
70% Read / 30% Write
Typical OLTP workloads run 70-80% reads and 20-30% writes.
ms
Average round-trip device service time per operation.
MB/s
Set to 0 if calculating unconstrained physical hardware.

Storage Throughput & Queuing Performance

Calculated Throughput 46.88 MB/s 0.375 Gbps Network Bandwidth
Required Queue Depth (QD) 4.50 Concurrent in-flight I/O threads
Read / Write Split 32.8 / 14.1 MB/s 2,100 R / 900 W IOPS
Provisioned Bandwidth Usage 37.5% Healthy Headroom Available

Throughput Across Common Block Sizes at Current IOPS

Block Size Equivalent Throughput Bandwidth (Gbps) EBS 256KB Merged IOPS
Quick Overview & Direct Answer

IOPS to Throughput (MB/s) & Latency Calculator: Convert between storage IOPS, I/O block size, and throughput (MB/s). Calculate storage queue depth, Little. Free, private, and simple to use in your browser.

Primary Use Cloud infrastructure scripting, container configuration, network testing
Input Formats YAML manifests, Dockerfiles, IP/CIDR ranges, environment configs
Output Format Validated configs, calculated subnets, generated tokens
Processing Mode 100% Client-Side Execution Engine
Access Tier Free, unlimited, no sign-up needed

The Fundamental Mechanics: IOPS, Block Size, and Throughput

In computer systems architecture and cloud infrastructure engineering, storage performance is governed by three inextricably linked variables: IOPS (Input/Output Operations Per Second), Block Size (the payload byte quantity transferred per operation), and Throughput (the total volume of data moved per second, typically expressed in Megabytes per second or Gigabits per second).

A common misconception among developers is treating IOPS as an absolute measure of disk speed. A storage subsystem reporting 100,000 IOPS delivering 4 KB blocks achieves a throughput of only 390 MB/s. Conversely, an enterprise data warehouse backup running at a modest 2,000 IOPS with 1 MB blocks pushes 2,000 MB/s (2 GB/s) of pure data stream. Without qualifying the underlying block size, IOPS alone is an incomplete and potentially misleading metric.

Mathematical Conversion Formulas

The mathematical equations relating storage metrics are strictly linear:

Throughput (MB/s) = $frac{text{IOPS} times text{Block Size (KB)}}{1,024}$

Throughput (Bytes/sec) = $text{IOPS} times text{Block Size (Bytes)}$

Required IOPS = $frac{text{Throughput (MB/s)} times 1,024}{text{Block Size (KB)}}$

Throughput (Gbps) = $frac{text{Throughput (MB/s)} times 8}{1,000}$

Queuing Theory & Little's Law in Disk Storage

A drive cannot deliver its rated IOPS if the operating system and applications do not keep the drive's internal queues full. This relationship is formalized by Little's Law from queuing theory:

$L = lambda times W$

Where: $L$ = Average Queue Depth (concurrent in-flight commands), $lambda$ = Processing Rate (IOPS), $W$ = Service Latency (seconds)

Rearranged: $text{Queue Depth} = text{IOPS} times text{Latency (seconds)}$

$text{Max Achievable IOPS} = frac{text{Queue Depth}}{text{Latency (seconds)}}$

If an application executes single-threaded synchronous I/O ($text{Queue Depth} = 1$) against an SSD exhibiting 0.5 ms (0.0005 s) latency, the absolute maximum theoretical IOPS is $1 / 0.0005 = mathbf{2,000text{ IOPS}}$, regardless of whether the SSD is marketed as an 800,000 IOPS monster. To unlock high IOPS on modern NVMe drives or cloud volumes, applications must utilize asynchronous I/O (such as Linux io_uring or libaio) or multi-threaded connection pools to maintain deep queue depths ($text{QD} ge 32$).

Step-by-Step Worked Numerical Example

Suppose a database administrator is provisioning an AWS EBS gp3 volume for a MySQL InnoDB cluster:

  • Engine: MySQL 8.0 InnoDB (Default page size = 16 KB)
  • Target IOPS: 8,000 IOPS
  • Baseline gp3 limits: 3,000 IOPS, 125 MB/s (Provisioned: 8,000 IOPS, 125 MB/s default throughput)
  • Average SSD Latency: 1.2 milliseconds (0.0012 seconds)

Step 1: Calculate the required throughput:

$text{Throughput (MB/s)} = frac{8,000 times 16text{ KB}}{1,024} = mathbf{125.0text{ MB/s}}$

Step 2: Check cloud volume limits:

Calculated Throughput = 125.0 MB/s

Provisioned gp3 Cap = 125.0 MB/s — Saturation = 100.0%

At exactly 8,000 IOPS with 16 KB pages, the volume perfectly saturates the 125 MB/s baseline throughput cap. If the workload spikes to 9,000 IOPS or if a table scan issues 64 KB blocks, throughput will hit the 125 MB/s hard ceiling, and AWS EBS will forcibly throttle disk I/O, spiking database latency from 1.2 ms to tens of milliseconds. The administrator must provision additional gp3 throughput (up to 250 MB/s or higher) to provide operational headroom.

Step 3: Calculate required application concurrency (Queue Depth):

$text{Queue Depth} = 8,000 text{ IOPS} times 0.0012 text{ seconds} = mathbf{9.6text{ concurrent requests}}$

Reference Table: Typical Workload Profiles

Workload Type Typical Block Size I/O Pattern Read/Write Mix Primary Metric
OLTP Databases (MySQL, Postgres) 8 KB – 16 KB Random 70% Read / 30% Write Low Latency & High IOPS
Data Warehousing / Analytics (Snowflake, ClickHouse) 64 KB – 1,024 KB Sequential 95% Read / 5% Write Maximum MB/s Throughput
Event Streaming (Kafka, RabbitMQ) 64 KB – 512 KB Sequential Append 50% Read / 50% Write Sustained MB/s Throughput
Virtual Desktop Infrastructure (VDI) 4 KB – 8 KB Random Bursty 20% Read / 80% Write (Boot Storms) Peak Burst IOPS
Video Streaming / Media Delivery 256 KB – 4,096 KB Sequential 99% Read / 1% Write High Sustained Throughput

Frequently Asked Questions

Throughput in Megabytes per second (MB/s) equals (IOPS × I/O Block Size in KB) / 1,024. For example, generating 10,000 IOPS with 16 KB database blocks yields exactly (10,000 × 16) / 1,024 = 156.25 MB/s of sequential or random throughput.

Little's Law states that L = λ × W, where L is the average number of concurrent requests (Queue Depth), λ is arrival/processing rate (IOPS), and W is average response time (Latency in seconds). Rearranged: IOPS = Queue Depth / Latency(s). If an NVMe SSD delivers 1 ms latency at Queue Depth 32, maximum throughput is 32 / 0.001 = 32,000 IOPS. To achieve 1,000,000 IOPS at 0.5 ms, an application must maintain a concurrent queue depth of 500.

AWS EBS volume performance is capped by two independent ceilings: provisioned IOPS (up to 16,000) and provisioned Throughput (up to 1,000 MB/s). Furthermore, EBS accounts for I/O operations in chunks up to 256 KB. A single 1,024 KB (1 MB) I/O request counts as four 256 KB I/O operations against your IOPS quota. Whichever provisioned ceiling (IOPS or MB/s) is reached first will throttle subsequent disk operations.

PostgreSQL uses an 8 KB default page size, aligning best with 8 KB or 16 KB filesystem blocks for OLTP. MySQL InnoDB uses 16 KB pages by default. Apache Kafka, which relies on large sequential disk writes and page cache flushes, performs best with 64 KB to 1 MB block sizes to maximize megabytes per second throughput rather than raw IOPS.