apache suddenly jumps to maxclients and stays there
Good morning, I've been having some trouble with a webserver for a while. It's ubuntu 10.04, apache2,php5.3,mysql4
I've been hammering away at it and got it mostly fine but every so often, it'll suddenly jump up to the maxclients available for apache and stay there until I restart apache.
Usually it sits at about 100 clients, but whatever maxclients is, (be it 300,600 or 1000) occasionally it'll hit that and stay there, giving lots of this in the error logs
[warn] child process 1005 still did not exit, sending a SIGTERM
This is a vm, sitting all on its own on a powerful host so I've given it stupid amounts of ram while we get to the bottom of this, that's why it's mostly fine.
I'm pretty sure it's something in the code is causing this, but it's a massively complicated thing written by an outside source and not one of our guys, so poking about in it isn't straightforward.
Does anyone have any advice on how I might be able to narrow down the source of this issue or any changes I could make to apache to mitigate the effects?
Is it possible to see what an apache process is actually doing?
/edit, usually these issues are accompanied by a spike in mysql connections, processlist shows lots of local connections with the command "Sleep" I've set the wait_timeout to 60 seconds which seems to help a bit.
Also, graphs show spikes in apache connections with status "sending reply", but can I find out what they are replying to?
Last edited by vmos; 27th April 2011 at 14:34.