httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stephany Burge <>
Subject [users@httpd] graceful restarts and child procs that never die
Date Mon, 31 Jan 2005 19:45:38 GMT
Hello -

I am having a problem with Apache 2.0.52, graceful restarts, and 
mod_proxy.    While serving long lasting mod_proxy requests, I do a 
graceful restart.  Some httpd child processes will never die, nor 
answer new incoming requests, and the # of threads will eventually 
build up to the max and the whole thing will start hanging.  This 
occurs on Linux Fedora Core 1 and Solaris 8.

To reproduce the situation, I have set up http_load to hit the 
webserver with numerous requests which will be handled by mod_proxy.  
All of  the requests will eventually time out.  (ie.  the destination 
server does not exist).   This is just a more extreme version of what 
we see in production.

Here's the process:
1.   Start Apache.     20 child threads.
2.   Begin load test.   MaxClients reached (250 httpd threads).  
Requests begin timing out.
3.   Do an "apachectl graceful"  restart
4.   Load test finishes (ran for 2 minutes)  (250 threads when 
5.   Wait 30+ minutes.     Some threads die out, but 188 httpd threads 
still live.

I've attached the server-status ouput in html format (for readability's 
sake).   The threads are stuck in the L state.  After additional 
"apachectl graceful" restarts, the threads will be stuck in G state, 
indefinitely.   I've let the server sit idle for a week and not seen 
any more threads die.    "apachectl stop" does stop all the threads.

Here's the error log output:
[Fri Jan 28 10:01:07 2005] [notice] Apache configured -- resuming 
normal operations
[Fri Jan 28 10:06:29 2005] [error] server reached MaxClients setting, 
consider raising the MaxClients setting
[Fri Jan 28 10:07:04 2005] [notice] Graceful restart requested, doing 
[Fri Jan 28 10:07:10 2005] [notice] Apache configured -- resuming 
normal operations
[Fri Jan 28 10:07:10 2005] [warn] long lost child came home! (pid 1364)

Here's my relevant httpd configs:
<IfModule prefork.c>
StartServers         50
MinSpareServers      10
MaxSpareServers     20
MaxClients         250
MaxRequestsPerChild  100
ProxyTimeout 300
ProxyPass /photos200
#ScoreBoardFile logs/httpd.scoreboard

Is this a known issue?   Should I submit a bug report?    Or is there a 
configuration option I am missing?

Thank you,

Stephany Burge

View raw message