Numbers To Know hard
A standard 10Gbps Linux server without kernel bypass (DPDK) typically hits a CPU bottleneck at roughly how many Packets Per Second (PPS) due to interrupt overhead?
- A 50,000 to 100,000 PPS
- B 1 to 2 Million PPS
- C 100 Million PPS
- D 10,000 PPS
Answer: B. 1 to 2 Million PPS
When a standard Linux server receives a network packet, the CPU must stop what it's doing (an interrupt) to process that packet through the kernel network stack. This process takes time; a single core typically hits a 'bottleneck' at around 1 to 2 million packets per second (PPS). For a 10 Gbps link, if the packets are small (like 64-byte DNS queries), the CPU will become 100% utilized long before the network cable is full. To solve this, high-performance systems use 'Kernel Bypass' (like DPDK), which allows the application to read directly from the network card, bypassing the slow interrupt-driven kernel stack and reaching 10M+ PPS.
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?