How do I plan for 100,000 users?
Do not confuse four numbers:
- DAU — unique users per day; drives transactions per day and storage growth
- Concurrent sessions — users connected in a window; drives sockets and session counts
- In-flight requests — handled at the same instant; drives connections, worker pools and backpressure
- RPS — requests per second; drives CPU, caching, database QPS and external quotas
Model it with a formula: users × actions per minute × API calls per action ÷ 60. Illustration (not a benchmark): 100,000 connected users each acting every 30 seconds is about 3,333 actions/sec; at 4 uncached API calls each that is about 13,333 API requests/sec before retries, bots and background jobs.
Then prove it: baseline → ramp to expected peak → spike → soak → stress beyond the goal → failure injection (Redis down, replica lag, worker halted, object-store timeout). Never claim 100k capacity without a load test and a recovery test at that target. Availability maths: 99.9% allows about 43.2 minutes of downtime per 30-day month; 99.95% about 21.6 minutes.