Skip to content
KAVRIQ
Interview contents

Workload Estimation

Workload estimation is one of the first steps in any system design exercise.
Before drawing architecture diagrams, you should know the scale of the problem — how many users, how many requests, how much data, and what latency is acceptable.

This page gives you a structured way to estimate:

  • Requests per second (QPS) & throughput
  • Storage needs (GB → TB → PB)
  • Network bandwidth & latency considerations

1. Why Workload Estimation Matters

  • It anchors your design: without numbers, you can’t justify why you picked sharding, caching, or microservices.
  • It helps you identify bottlenecks early (DB writes, bandwidth, disk space).
  • Interviewers love to see you quantify assumptions, even with rough math.

2. Estimating Requests per Second (QPS)

Formula

QPS = (Total Requests per Day) ÷ (Seconds per Day)
  • Seconds per day = 24 × 3600 = 86,400

Example: Social Media Feed

  • Users = 10M Daily Active Users (DAU)
  • Each user = 20 feed refreshes/day
  • Total requests/day = 200M
QPS = 200,000,000 ÷ 86,400 ≈ 2,314 QPS

Add a peak factor (×10) → ~23,000 QPS.
Always design for peak QPS, not average.


3. Estimating Throughput (Reads vs Writes)

  • Define read-to-write ratio (often 90:10 or 80:20).
  • Reads and writes may scale differently.

Example: Messaging App

  • Total requests/day = 100M
  • Assume 80% reads, 20% writes
Reads/day = 80M → ~926 QPS (avg) → ~9.2k QPS peak
Writes/day = 20M → ~231 QPS (avg) → ~2.3k QPS peak

This tells you DB writes are fewer, but read scaling matters much more.


4. Storage Estimation

Formula

Storage per object × Objects per user × Users

Example: Photo Sharing App

  • Average photo size = 500 KB
  • 10 photos/user/day
  • 1M users/day
Daily storage = 500 KB × 10 × 1,000,000 = 5,000,000,000 KB
= 5,000 GB = 5 TB per day
  • For 1 year → 5 TB × 365 ≈ 1.8 PB/year
  • With replication (×3) → ~5.4 PB/year

Always include replication factor when estimating storage.


5. Bandwidth Estimation

Formula

Bandwidth (bytes/sec) = Requests/sec × Data per request

Example: Video Streaming

  • 100,000 concurrent viewers
  • Each stream = 2 Mbps
Total bandwidth = 100,000 × 2 Mbps = 200 Gbps

Implication: need CDNs + edge caching to handle this traffic.


6. Latency Budgets

  • Latency budget = acceptable end-to-end response time.
  • Break it down into components:
    • Network latency (client → server → client)
    • Processing time (app + DB query)
    • Queueing delays
    • Cache lookup vs DB lookup

Typical Targets

  • API requests: < 200 ms (95th percentile)
  • Page load: < 2 sec
  • Realtime chat: < 100 ms
  • Video streaming start: < 1–2 sec

Interview tip: say “I’ll assume 200 ms P95 latency for API requests, unless stricter requirements are specified.”


7. Quick Estimation Checklist

  • Users: DAU, MAU (daily/monthly active users)
  • Requests per user: average requests/day/user
  • Total requests/day → QPS (with peak factor)
  • Read/write ratio (to size DB load)
  • Data size per object (KB → MB → GB)
  • Storage growth rate (daily, monthly, yearly)
  • Replication factor
  • Bandwidth needs (bytes/sec or Mbps)
  • Latency budget (what’s acceptable?)

8. Practice Examples

  1. URL Shortener

    • 100M new short URLs per year
    • Each record = 100 bytes
    • Storage = ~10 GB/year (small, bottleneck is QPS not storage).
  2. Chat App

    • 10M DAU × 50 messages/day = 500M messages/day
    • Each message ~200 bytes
    • Storage/day = ~100 GB
    • QPS ≈ 5,800 avg → 58k peak
  3. Video Platform

    • 1M DAU × 2 GB video uploads/day = 2 PB/year
    • Bandwidth for streaming is dominant, not storage.

9. Interview Tips

  • Always state assumptions (users, activity, object size).
  • Show back-of-the-envelope math (write it step by step).
  • Call out replication overhead.
  • Differentiate hot data vs cold data (recent vs archived).
  • Mention peak vs average QPS explicitly.

10. Next Steps