Numbers To Know medium
A standard Nginx server on a modern 8-core machine can handle roughly how many concurrent idle connections (C10k problem)?
- A 100
- B 1,000
- C 10,000 to 100,000+
- D 10 Million
Answer: C. 10,000 to 100,000+
Historically, the 'C10k' problem referred to the difficulty of handling 10,000 simultaneous connections on a single server. Modern load balancers like Nginx solved this by using an 'event-driven' architecture (using system calls like `epoll` or `kqueue`). Because these idle connections don't require their own dedicated CPU thread—only a few kilobytes of RAM to maintain the socket state—a single 8-core server can easily manage hundreds of thousands of concurrent open connections (like WebSockets or Keep-Alive HTTP). The actual limit is usually determined by how much RAM is available to track the socket buffers, rather than CPU processing power.
One system design question a day, with spaced repetition so the ones you miss come back.
Get the appRelated questions
- What is the maximum allowed downtime per year for a system targeting '99.9%' (Three Nines) availability?
- What is the typical size of a standard ASCII character (e.g., 'A')?
- What is the typical Round Trip Time (RTT) for a single network packet traveling between New York and London (Transatlantic)?
- Network bandwidth is usually denoted in **bits** per second (Gbps), while storage is in **Bytes** (GB). What is the conversion ratio?
- Storing a password using a secure algorithm like bcrypt (cost 10) or Argon2 typically consumes how much storage per user?
- How much power does a typical fully-loaded rack-mount server consume?