PG
Back to portfolio

/ Lab · Interactive

System Design Simulator

Every architecture works on a whiteboard. Build one here, send it real traffic, and watch where it breaks. Then fix it without blowing the budget.

A post took off. Keep up with 2,000 requests/second on a startup budget.

Hold every goal for 30 seconds straight. Changing the design restarts the clock.

  • p95 ≤ 150 ms…
  • errors ≤ 1.0%…
  • cost ≤ $500/mo…
measuring 0/30s

Live · t = 0s

Scroll sideways to see the whole system →

Users2.0k rps+ CDNclick to add+ Load balancerclick to addApp servers × 1Small · 0 rps✓ OK · 0%+ Cacheclick to add+ Queueclick to addDatabaseSmall · 0 rps✓ OK · 0%primary only

Traffic in

–

p95 latency

–

Error rate

–

Monthly cost

–

Last 60s. Dashed line = challenge goal. Hover a chart for exact values.

›How the model works

Each tier has a capacity in requests per second. Latency grows with utilization the way a single queue does (base time ÷ (1 − utilization)), so a tier at 90% is ten times slower than an idle one. Anything beyond 100% is rejected and counts as errors.

A CDN serves the 40% of requests that are static files. A cache answers the chosen share of reads. Replicas split reads with the primary database, but every write lands on the primary. A queue accepts writes instantly and drains them into the database's spare capacity.

Autoscaling adds one server every 3 seconds when servers pass 60% busy and removes them slowly, so it lags behind sudden spikes, just like the real thing.

Prices are rounded, illustrative on-demand list prices per month. The model is deliberately simple: the point is the trade-offs, not a quote. Read the engine.