Skip to content

Load simulator

See what breaks before the interviewer asks

Build a Twitter clone, from 100 users to a second region. Guess what breaks. Run a real load test. Read why.

Free. No sign-up. Your progress stays in this browser.

A real run

Same traffic. Three designs

5,000 users are coming. Pick a design and watch it take the load. The numbers come from the real engine, not from a picture.

Level 2 · Your app went viralReal engine
Choose a design

One 1-core server. The database lives on the same box.

5,000
p95 latency
10 s (timeouts)
Overlimit 500 ms
Errors
75%
Overlimit 1%
Busiest part
Full
Overof its CPU
Cost
$12
OKbudget $100 a month

Fails. It breaks at about 1,250 users. The CPU of server 1 is full, so requests wait in a queue.

Why, in the room’s own words

  1. The test broke at about 1,250 users. App server 1 could not keep up.
  2. Each user sends 1 request every 5 seconds. So 1,250 users send about 250 requests per second.
  3. Each request needs 3 ms of app CPU and 1 ms of database CPU on the same box. That is 4 ms in total.
  4. 250 requests × 4 ms = 1,000 ms of CPU every second = 1 core.
  5. App server 1 has 1 vCPU. It can do at most 1,000 ÷ 4 × 1 = 250 requests per second.
  6. So this part is full at about 1,250 users. After that, requests wait in a queue until they time out.
  7. At your goal of 5,000 users that is 1,000 requests per second. That needs about 4 cores. You have 1.

A small piece of Level 2. The real level also has crashes, traffic spikes and slow queries.

How a level goes

Guess. Run. Read why.

Most levels follow the same three steps. You learn from the gap between your guess and the result.

  1. 01

    Guess

    Before you run, click the part you think breaks first. From Level 2, you also guess how many users it takes. Your guess is the lesson. You see what your gut got wrong.

  2. 02

    Run

    A load test of about 10 seconds. The users climb, and the charts show p95 latency, errors and the CPU of every box.

  3. 03

    Read why

    The result comes with the sums in plain numbers, so you can say the same sums in an interview.

8 levels

From one server to two regions

Each level adds one idea, and one new way for your design to break. All of them are free. Levels 1 and 2 open at once. Each later level opens after the one before it, or you can choose to try it early.

  1. 01

    100 users and one small server. Nothing breaks, until one popular link does.

  2. 02

    5,000 users are coming to a $12 server. Keep p95 under 500 ms.

    Lesson 26: Scale up or scale out, and why servers must be stateless

  3. 03

    About 20 people read a tweet for every one that is written, and 8,000 users are online.

    Lesson 31: Caching basics: hit, miss, TTL, hit rate

  4. 04

    20,000 users, 4 reads for every write. A copy of the data is always a little behind.

    Lesson 40: Why do I see old data after saving? (replica lag)

  5. 05

    4,500 GB of data. The biggest box is 16 vCPU, and one shard's disk holds 1,000 GB.

    Lesson 43: Sharding: splitting data across servers

  6. 06

    One tweet from an account with 2,500,000 followers has to reach 2,500,000 timelines.

    Lesson 76: A feed for 10 million followers: build early or on demand (fan-out)

  7. 07

    A user in the far corners of India is 170 ms from Mumbai, but only 28 ms from a CDN edge. 3,000 users are online.

    Lesson 36: CDN: serving files from near the user

  8. 08

    Frankfurt is 125 ms from Mumbai, there and back. If Mumbai goes dark, the other region must take over.

    Lesson 90: Multi-region: latency, failover, data residency

The lessons are part of the course, which has 125 lessons in 19 modules. See the course.

Why you can trust it

No AI in the engine. Same input, same result.

  • The load test is plain code

    The same design on the same numbers gives the same result every time. It uses no credits and it costs you nothing to run.

  • It does the sums in front of you

    The Why panel shows requests a second, milliseconds of CPU and how many cores you need. It is the same working you would say out loud in a round.

  • It is a model, not your production

    It teaches the shape of the problem: what fills up first, and why. It does not promise the same numbers as your own servers. All numbers are estimates.

Take it as an interview

Then defend your design out loud

In the Simulator Mock, an AI interviewer asks you to explain your design. When you make a claim, it runs your claim on this same engine and reacts to the real numbers.

It needs an account and uses one interview credit. Every account starts with one free.

Example

YouOne 8-core server is enough for 5,000 users.

The interviewer ran it: it held

Worst p95
24 ms
Busiest part
50% full
Cost
$96 a month

InterviewerIt held. What happens if that one box dies?

Questions

Before you play

Do I need to sign up?

No. Every level opens without an account. Your progress is saved in this browser, so clearing your browser data clears it.

Is it really free?

Yes. All the levels are free, with no AI and no credits. The Simulator Mock is the one step that uses an interview credit: an AI interviewer tests your claims on this engine. Every account starts with one free.

Is it realistic?

It is a model, not a copy of production. It teaches the shape of the problem: what fills up first, and why. Use it to build the instinct, not to size your real servers.

Is an AI deciding the result?

No. The load test is plain code. The same design on the same numbers gives the same result every time.

Break something. Learn why.

Level 1 takes a few minutes. No account, no card.