On Sun, May 16, 2010 at 4:42 PM, Peter Halicky <peto@xxxxxxxxxx> wrote: > Hi, > > I run a "LAMP" server with a few websites, one of them quite busy. I use > Ubuntu 8.04 with apache 2.2.8 > and PHP 5.2.4. The problem is this: about once a day, apache processes > cause the system load to go very > high (today it was ~30). During this time, I can not display any webpage > on my server. If I do not notice, the > problem goes away after 3-10 minutes. If I do notice, I can ssh into the > server (if I'm lucky and I get a connection, > which could be a problem with sysload over 30+), I kill all apache > processes (very many of them, usually equal > to MaxClients), restart and everything is fine (with sysload rarely > above 2, usually around 0.5). > > I use the prefork MPM with the following settings (just for the record): > > StartServers 5 > MinSpareServers 5 > MaxSpareServers 10 > MaxClients 80 > MaxRequestsPerChild 10 Death by fork() Did you really intend to throw away and recreate a child process after it handles only 10 requests? MaxRequestsPerChild as a preventative measure: this is generally in the 10s of thousands (e.g., MaxRequestsPerChild 50000) MaxRequestsPerChild to solve an actual resource problem: this is generally in the thousands (e.g., MaxRequestsPerChild 4000) If the third-party software loaded into or otherwise run inside httpd really can't handle more than 10 requests before leaking so much memory or other resources that the process has to exit to clean up the resources immediately, throw it away. --------------------------------------------------------------------- The official User-To-User support forum of the Apache HTTP Server Project. See <URL:http://httpd.apache.org/userslist.html> for more info. To unsubscribe, e-mail: users-unsubscribe@xxxxxxxxxxxxxxxx " from the digest: users-digest-unsubscribe@xxxxxxxxxxxxxxxx For additional commands, e-mail: users-help@xxxxxxxxxxxxxxxx