https://bz.apache.org/bugzilla/show_bug.cgi?id=53555
--- Comment #39 from Stefan Fritsch <[email protected]> --- As a summary, the problem is that old processes that are shutting down but are still processing some long lasting connetions take up all open scoreboard slots. It may be triggered in two ways: a) when doing a graceful restart (apachectl graceful) b) when the server load goes down in a way that causes httpd to stop some processes. This is particularily problematic because when the load increases again, httpd will try to start more processes. If the pattern repeats, the number of processes can rise quite a bit. I think two things should be done: 1) Allow to use some extra scoreboard slots for processes that are gracefully shutting down. This is necessary to fix a) and will help a bit with b). To avoid these extra processes taking too much resources, they should try to free resources to the OS as soon as possible. 2) When some process is doing idle shutdown in situation b) and httpd wants more active processes due to rising load, it should not start new processes but rather tell the finishing processes to abort shutdown and resume full operation. This helps with b) but not with a). It is also a lot more invasive to implement than 1). My previous patch https://bz.apache.org/bugzilla/attachment.cgi?id=33158 did 1) to some extent by allowing re-use of some scoreboard slots. I will post a new patch in a minute. As configuration, I recommend (this one is true even if not using any patch): MaxspareThreads - MinSpareThreads >= 2 * ThreadsPerChild Higher values of the difference may work better. This reduces the likelyhood of situation b) appearing. -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
