- mod_status shows loads of children in Keepalive state with Seconds Since 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.
Leave a Reply
Recent articles
- Docker, SELinux, Consul, Registrator
(Wednesday, 04. 29. 2015 – No Comments) - ZFS performance on FreeBSD
(Tuesday, 09. 16. 2014 – No Comments) - Controlling Exim SMTP behaviour from Dovecot password data
(Wednesday, 09. 3. 2014 – No Comments) - Heartbleed OpenSSL vulnerability
(Tuesday, 04. 8. 2014 – No Comments)
Archives
- April 2015
- September 2014
- April 2014
- September 2013
- August 2013
- March 2013
- April 2012
- March 2012
- September 2011
- June 2011
- February 2011
- January 2011
- October 2010
- September 2010
- February 2010
- September 2009
- August 2009
- January 2009
- September 2008
- August 2008
- July 2008
- May 2008
- April 2008
- February 2008
- January 2008
- November 2007
- October 2007
- September 2007
- August 2007
- December 2006
- November 2006
- August 2006
- June 2006
- May 2006
- March 2006
- February 2006
- January 2006
- December 2005
- November 2005
- October 2005