Calculate sequential read/write throughput in MB/s from block size and IOPS.
Throughput is the product of how much data moves per operation (block size) and how many operations complete per second (IOPS): a device doing 8,000 IOPS at a 128KB block size is moving roughly 1000MB/s. Real-world sustained throughput on a given link or interface rarely reaches the full theoretical figure because of protocol overhead, contention and controller limits, so an achievable link-utilization percentage is applied on top to produce a realistic effective figure.
Theoretical throughput
throughput = block_size × IOPS
Effective throughput
effective = theoretical × utilization%
Larger blocks amortize the fixed per-operation overhead (command issue, seek/latency, protocol framing) over more data, so sequential workloads using large blocks (128KB-1MB) typically report much higher MB/s than random 4KB workloads even on the same device, despite the device's IOPS ceiling actually being higher for small blocks.
IOPS and throughput trade off against each other: small blocks let a device complete more discrete operations per second (higher IOPS), but each operation moves less data, so total MB/s can be lower than a workload using fewer, larger operations that saturate the same underlying bandwidth.
For well-tuned sequential workloads on modern NVMe SSDs, 85-95% of theoretical throughput is common. Network-attached or shared storage, older SATA/SAS interfaces, and highly random workloads typically see larger gaps between theoretical and effective throughput, often 50-70%.