Skip to content
<UK/>

Systems incident simulator

Mission Control

Break a system. Understand the trade-offs.

Illustrative simulation · not production telemetry

Commerce platform

Baseline
  • Root cause
  • Impacted by a failing dependency
  • Line colour: load vs. capacity
Redis

healthy · Cache hit 94%

Protects the read path. Coordinated expirations can send a burst to the database.

API p99149 ms
Error rate0.2%
Cache hit94%
Capacity cost index2×
API p99 · model snapshots over simulated time1 sample
Change a control or advance time to build a trace.400 ms
PausedSimulated time 00:00

Event timeline

1

Simulation time, not wall-clock time. Latest 8 actions and state transitions.

  1. Simulation ready at baseline.

Engineering debrief

Many callers miss the same cached value together. Spread expirations with TTL jitter, then coalesce identical in-flight requests so only one caller refills the key. Even then the hit rate climbs back over tens of seconds while the cache refills. The database is the loudest alarm, but the cache is the root cause.

The trade-off

Jitter changes freshness timing; coalescing adds coordination. More API replicas alone cannot expand the database’s fixed read budget.

Relative model units, not money
Go deeper in the LabCACHE CRASHSurvive a cache stampede by tuning TTLs, stale reads, locks and hot-key protection. (opens in a new tab)

Model boundaries

These are authored examples, not accounts of client incidents. Traffic, capacity and thresholds are deliberately simplified. Latency follows a queueing curve (ρ/(1−ρ)), so headroom matters well before 100% load. No live services are contacted.

Read the underlying ideas

Kafka consumer groupsAWS retry behavior