Back to roadmap
Module 2 · Scale, Latency, CapacityDay 01720 min

QPS, RPS, IOPS, BPS

Different units — each names a different bottleneck.

Day 017

QPS, RPS, IOPS, BPS

QPS
service
IOPS
datastore
BPS
edge
PPS
edge
Memory hook

QPS, RPS, IOPS, BPS: different units

Mental model

make the invisible limits visible

Design lens

Bigger RAM raises page-cache hit rate.

Recall anchors
QPS/RPS — appIOPS — storageBPS — bandwidth

Why it matters

Throughput is measured in different units depending on which layer you mean. QPS/RPS at the app, IOPS at storage, BPS at the network. Scaling problems usually live in one unit but get described in another — clarity matters.

Deep dive

QPS/RPS: queries or requests per second at the app or DB. Limited by CPU, locks, or downstream.

IOPS: storage operations per second; commodity SSDs ~10–100k. Many DB problems are really IOPS problems.

BPS: bytes per second; matters for media, analytics, replication.

Always derive: e.g. 1k RPS × 5 reads/req × 10 IOPS/read ≈ 50k IOPS.

Demo / scenario

API hits 5k RPS, DB CPU 30%, but slow.

  1. Each request reads 20 small rows → 100k DB reads/sec.
  2. Storage IOPS limit: 80k → bottleneck.
  3. Fix: bigger page-cache hit rate, batch fetches, secondary index, or read replica.

Tradeoffs

  • Bigger RAM raises page-cache hit rate.
  • Composite indexes reduce reads per query.
  • Caching reduces DB IOPS at the cost of consistency.

Diagram

QPS
App/DB
IOPS
Storage
BPS
Network
PPS
Packets
Units across the stack.

Mind map

Check yourself

Loading quiz…

Sources & further reading