IOps (I/O Operations Per Second)

Performance

A measure of how many read/write operations a storage device can handle per second. HDDs typically deliver 100-200 IOps; SSDs can deliver 10,000-100,000+ IOps; RAM is effectively unlimited for practical purposes.High IOps matter when serving many small files. Low IOps can become a bottleneck even...

Updated Apr 3, 2026

Full Explanation

IOPS (I/O Operations Per Second) measures how many individual read or write operations a storage device can handle per second. It is one of the most important performance metrics for any system that deals with lots of small files, which describes a CDN edge server perfectly.

The numbers vary dramatically by storage type. Traditional HDDs with spinning platters are limited to around 100-200 random IOPS because the read head physically needs to move and the platter needs to rotate. SATA SSDs jump to 10,000-100,000 IOPS. NVMe SSDs push 100,000-500,000+ IOPS. And RAM? Effectively unlimited for practical purposes, millions of operations per second with sub-microsecond latency.

For CDN edge servers, IOPS becomes the bottleneck when serving lots of small files like images, JavaScript bundles, CSS files, and API responses. A busy edge server handling 50,000 requests per second of small cached files needs 50,000 IOPS just for reads, even if the total bandwidth is only a few hundred megabits. Throughput (MB/s) might be fine while IOPS is maxed out. This is why CDN servers use NVMe SSDs for their cache storage and keep the hottest content in RAM, where IOPS is not a constraint.

When diagnosing CDN performance problems, check if IOPS is the bottleneck before blaming the network. Tools like iostat and fio can help measure and benchmark storage IOPS on cache servers.

Examples

Benchmarking and monitoring IOPS on a cache server:

# Check current disk IOPS with iostat (Linux)
iostat -x 1 5
# Look at the r/s (reads/sec) and w/s (writes/sec) columns

# Benchmark random read IOPS with fio
fio --name=random-read \
    --ioengine=libaio \
    --rw=randread \
    --bs=4k \
    --numjobs=4 \
    --size=1G \
    --runtime=30 \
    --direct=1

# Typical results:
# HDD:  ~150 IOPS
# SATA SSD: ~75,000 IOPS
# NVMe SSD: ~400,000 IOPS
Storage Tier     Random IOPS    Access Time    CDN Use Case
HDD              100-200        8-14ms         Cold archive storage
SATA SSD         10K-100K       ~0.1ms         Warm cache tier
NVMe SSD         100K-500K+     ~0.05ms        Hot cache tier
RAM              Millions+      ~0.0001ms      Hottest content cache

Video Explanation

Frequently Asked Questions

A measure of how many read/write operations a storage device can handle per second. HDDs typically deliver 100-200 IOps; SSDs can deliver 10,000-100,000+ IOps; RAM is effectively unlimited for practical purposes.High IOps matter when serving many small files. Low IOps can become a bottleneck even...

Benchmarking and monitoring IOPS on a cache server:

# Check current disk IOPS with iostat (Linux)
iostat -x 1 5
# Look at the r/s (reads/sec) and w/s (writes/sec) columns

# Benchmark random read IOPS with fio
fio --name=random-read \
    --ioengine=libaio \
    --rw=randread \
    --bs=4k \
    --numjobs=4 \
    --size=1G \
    --runtime=30 \
    --direct=1

# Typical results:
# HDD:  ~150 IOPS
# SATA SSD: ~75,000 IOPS
# NVMe SSD: ~400,000 IOPS
Storage Tier     Random IOPS    Access Time    CDN Use Case
HDD              100-200        8-14ms         Cold archive storage
SATA SSD         10K-100K       ~0.1ms         Warm cache tier
NVMe SSD         100K-500K+     ~0.05ms        Hot cache tier
RAM              Millions+      ~0.0001ms      Hottest content cache

Related CDN concepts include:

  • Throughput — The actual amount of data transferred per unit of time. Unlike bandwidth (maximum capacity), throughput …