- mod_status shows loads of children in K eepalive state with S econds S ince much higher than
KeepAliveTimeout-
eventually the number of these reaches MaxClients, wedging the server
-
hung process backtrace like this:
(gdb) bt#0 0x2814d118 in read () from /usr/lib/libc.so.4 #1 0x2830e69f in ssl_io_hook_read () from /usr/local/libexec/apache/libssl.so #2 0x806d256 in ap_hook_call_func () #3 0x806ce7b in ap_hook_call () #4 0x8051bea in ap_read ()
-
There's some google-able posts about SSL blocking reads, but
- They're old posts
- The hung threads aren't actually on a SSL VirtualHost
Since it's a busy server there's this tradeoff between KeepAlives helping by reducing HTTP connection setup / teardown and the need to churn Apache children fast. Since I didn't have any joy working out the problem, I've got around it by just turning KeepAlives off.
Still, it bugs me.
last updated: