All Questions
Real Time Updates hard

You are load testing your WebSocket server. You launch 60,000 clients from a single test machine. The tests start failing with `EADDRNOTAVAIL`. Why?

  1. A You ran out of outgoing ephemeral ports. A TCP connection is identified by a 4-tuple. Since Source IP, Dest IP, and Dest Port are constant, you only have ~65k Source Ports available per client IP.
  2. B The server ran out of RAM.
  3. C The server's backlog queue is full.
  4. D The load balancer rejected the connections.

One system design question a day, with spaced repetition so the ones you miss come back.

Get the app

Related questions