So I just set up a new VPS, and as soon as I turn it on (MaxClients set to 140) maxclients will be reached, and apache processes don't stop ending until they reach timeout (15 seconds).
How can I further debug this to determine why they're not ending?
Unfortunately it's a production box, which is why maxclients is reached so quickly after an apache restart.
I'm running Apache 2.2.16 on ubuntu 10.10, kernel 2.6.18, and PHP 5.3.3
MySQL is running on a separate server (Note: I have a hunch that maybe the processes aren't ending due to something MySQL related, but I'm not sure what to look for) In the past I had MySQL/PHP on the same server and everything was fine, since I've moved to 2 separate I've been running into this issue.
Curl was being called on multiple pages and there was no timeout set, so it went to max execution time.
I've since fixed! strace -p is a life saver!
This depends very much on your configuration. If you have keep-alive active, then it is absolutly legal for the processes to wait.
Tell us more about your configuration and check (using netstat -np) which connections are still active.