Apache webserver - What happens to requests, when all worker threads are busy

When all Apache worker threads are busy, the new request is stalled (it waits) until one of those worker threads is available. If the client gives up waiting, or you surpass the maximum wait time in your configuration file; it will drop the connection.


This answer is given in 2015. So I talk about apache httpd 2.4.

  1. They wait because the connection is queued on the TCP socket (the connection is not ACKed) Although the default length of the backlog may be set way too high on linux boxes. This may result in connections being closed due to kernel limits being in place.
  2. ListenBacklog (with caveats. See 1.)
  3. This is described here. With lots of interesting stuff.

Read through Apache TCP Backlog by Ryan Frantz to get the glory details about the Apache backlog.