SYSTEM LAB Wordmark IconSYSTEM LAB
Open simulator
person

Drag boxes, press run, and watch your design fall over before production does.

A free simulator for distributed systems: real queues, cascading failures, and capacity limits checked against textbook queueing theory.

Free forever in your browser · No account or credit card required

verified Engine verified against M/M/c/K, M/G/1 PK, Little’s Law, and closed queue models
L = λW W_q = λE[S²]/2(1-ρ) P_b = ErlangB(c, A)
STEP: 10ms · TICK #142,804
Throughput: 14,200 req/s
p95 Latency: 34.2 ms
Success Rate: 99.82%
Dropped Calls: 0/s
Open Traffic
Client Pool
Rate: 14.0k/s
Token Bucket
API Gateway
Limit: 15.0k/s
16 Workers (Go)
App Service
Saturation: 42%
Read-Through
Redis Cache
Hit Ratio: 94.2%
4 Cores (100 pool)
Postgres DB
Conn Pool: 28 / 100
Simulate Chaos:
DISCRETE EVENT DISPATCHER LOG Deterministic seed #8192 · CLOCK: 14:28:04
14:28:02 [Gateway] token_bucket refill 15000/s (leaky bucket capacity 25000)
14:28:03 [Redis] hit_ratio 0.94, avg_latency 0.8ms, eviction policy: allkeys-lru
14:28:04 [Service] 16 workers active, 42% pool saturation, mean run time 18.4ms
Queueing theory is not an academic exercise.
It is the exact reason your system crashes under load.
Simulated Post-Mortems

Watch These Break Under Load

Cascading failures are counter-intuitive. In a simulator, you see the exact tick where queues spiral out of control.

Scenario 01 Model: M/M/c/K

The Retry Storm

A 3-second traffic spike leaves worker queues locked and dropping requests long after traffic returns to normal. Backed-up clients trigger aggressive timeouts and duplicate retries, quadrupling real load.

Baseline p99 28 ms
→
Storm Saturation 3,840 ms (94% drop)
Inspect in simulator arrow_forward
Scenario 02 Model: Read-Through Fallback

The Unprotected Cache Outage

When a cache node dies without circuit breakers or fallback stubs enabled, every single query stampedes the database tier simultaneously, instantly exhausting pool connections and crashing replicas.

DB Pool Utilization 18%
→
Post Cache Eviction 100% (Deadlock)
Inspect in simulator arrow_forward
Scenario 03 Model: Shared Threadpool

Worker Pool Starvation

A handful of unindexed slow analytical queries hold worker threads for 450ms. With zero thread isolation, unrelated lightweight /healthz calls get blocked, leading Kubernetes to erroneously restart healthy pods.

Health Check RTT 2.1 ms
→
Starvation Timeout 5,000 ms (Killed)
Inspect in simulator arrow_forward
Scenario 04 Model: Active Probing Delay

Load Balancer Blindspots

A 5-second health check probe interval leaves a blind window. When Node C segfaults, the balancer sends exactly 1,200 incoming customer requests into a black hole before marking the backend node dead.

Detection Window 0.0 s
→
Dropped Packets 1,240 dropped (5s gap)
Inspect in simulator arrow_forward
Production Baselines

Start from 10 Real-World Topologies

Pre-calibrated parameter sets ready to fork, mutate, and run. Derived directly from production interview questions and high-scale architectures.

100M links/mo link

URL Shortener

20,000 req/s read path with high cache hit ratio, base62 counter generator, and persistent relational storage fallback.

Redis · PostgreSQL Load Template →
500k Conn forum

Chat Service

Persistent stateful WebSockets, gateway session affinity, Redis Pub/Sub backplane, and Cassandra chat message store.

WS · Redis Pub/Sub Load Template →
Fan-Out Architecture dynamic_feed

News Feed

Hybrid write-time fan-out for active users, async celery queue workers, and read-through timeline cache layers.

Workers · Timeline Cache Load Template →
HLS / DASH play_circle

Video Streaming

Multi-tiered CDN edge caching, video segment packaging workers, dynamic playback manifest resolution.

Edge CDN · Blob S3 Load Template →
Presigned Chunking cloud_upload

File Storage & Sync

Direct-to-object presigned chunking, conflict resolution, block deduplication cache, and metadata index servers.

S3 · ACID Metadata Load Template →
Exactly-Once Semantics credit_card

Payment System

Kafka event queues, Redis idempotency tokens, two-phase commit coordinators, and exponential merchant webhook retries.

Kafka · 2PC · Outbox Load Template →
Token & Sliding Window speed

API Rate Limiter

Distributed sliding log algorithms, Redis sorted set evaluators, and zero-roundtrip local token bucket caches.

Redis Lua · Bucket Load Template →
Multi-Channel Prioritization notifications

Notification System

Priority-tiered RabbitMQ queues (SMS > Push > Email), rate throttling wrappers, and external vendor fallback circuits.

RabbitMQ · Circuit Breaker Load Template →
Frontier Queue travel_explore

Web Crawler

Politeness delay governors, Bloom filter URL deduplication, distributed frontier queues, and raw document storage.

Bloom · S3 · Frontier Load Template →
Geospatial Routing near_me

Ride Sharing Engine

Spatial H3 / Geohash indexing for millions of live driver pings, trip state machines, lock-free batch matching algorithms, and bidirectional ETA dispatch streams.

H3 / QuadTree · Redis Geo · Kafka Load Template →
Automated Mathematical Verification

How We Know It Works

We do not guess queue dynamics. Every commit to the event engine is automatically checked against closed-form solutions from operations research and classical queueing theory.

Explore verification test suite (/validation.html) open_in_new
M/M/1 & M/M/c
Multi-Server Erlang-C

Validates that mean wait times match Erlang-C formulas across utilization levels ρ from 0.05 to 0.95 within 0.8% statistical tolerance.

Δ Error < 0.62% PASS
M/M/1/K
Finite Capacity Drop

Tests queue overflow and blocking probabilities against Erlang-B and finite state balance equations under continuous Poisson arrival bursts.

P_loss Match: 99.94% PASS
L = λW
Little’s Law Invariance

Proves that the long-term average number of items in the simulated system strictly equals arrival rate multiplied by total dwell time.

Conservation Invariant PASS
M/G/1 P-K Formula
Pollaczek–Khinchine

Verifies queuing delay under general, non-exponential service distributions: lognormal payloads, bimodal network packets, and Pareto bursts.

Var[S] Convergence PASS
info
Honest Technical Bounds:

SYSTEM LAB validates the discrete event engine and queueing mathematics, not your proprietary application code or kernel drivers. It simulates topology contention, bounded buffers, backpressure, and network delay. It does not compile your Rust or Java code.

Intended Audience

Engineered for Technical Depth

terminal

Interview Candidates

Move past memorizing high-level block diagrams. Test actual throughput limits and prove to interviewers why a single Redis cluster will cap out at 80,000 requests per second.

  • ✓ Realistic back-of-the-envelope checks
  • ✓ Identify bottlenecks under examination
school

Learners & Researchers

Watch abstract equations from textbooks come to life. Observe Little’s Law and Erlang-B blocking dynamically as you slide arrival rate and worker concurrency dials.

  • ✓ Visual discrete-event clock ticking
  • ✓ Zero math abstraction barriers
lan

Practicing Architects

Size production instances before signing the cloud bill. Simulate peak Black Friday load spikes and discover whether your worker thread pool will starve your load balancer.

  • ✓ Capacity reservation planning
  • ✓ Circuit-breaker threshold sizing
Answers

Frequently Asked Questions

play_arrow

Start stress testing your architecture today.

No accounts, no setup, no cloud credentials. Just mathematically verified queueing simulation in your browser.

Zero accounts required · Open Source · Runs locally in browser WebAssembly