Lesson 3 of 15
43. Design Flash-Sale Ticket Booking (Ticketmaster / IRCTC Tatkal)

43.2 How big is this, really?

3 min read+10 XP

Step 2: Estimates (5 minutes)

Assume booking can safely handle 2,000 admissions a second (seat selection, hold and payment start), and a 5-minute payment hold.

WhatWorkingResult
People per seat2,000,000 ÷ 50,00040 per seat: most won't get one
Wait for position 600,000600,000 ÷ 2,000 a second≈ 5 minutes
Admitted in 10 minutes2,000 × 6001.2 million (seats sell out long before)
Refreshes at 10:00 if no waiting room2 million people × a refresh every few secondshundreds of thousands to millions of requests a second on dynamic pages
Abandoned holdssay 20% of 50,00010,000 seats come back after 5 minutes

What the numbers say, out loud:

  • "Supply is the limit, not servers. The system's job is to meter people into booking and tell everyone else the truth quickly."
  • "The refresh storm is the real load: make the waiting page static and cached at the CDN (Chapter 26), with a cheap status poll."
  • "Seats will be released by abandoned holds, so the sale has a second wave a few minutes in."

Interviewer pushback:

  • "Why 2,000 a second?" → It's set by what the seat inventory and payment provider can handle safely (measured in load tests), not by how many people are waiting.

Memory code: "Forty people per seat: meter them in, and tell the rest the truth."