On Thu, 2009-05-28 at 11:44 -0400, Jones, Keven wrote: > Hello, > > The number of httpd processes on my web server is at times spiking for > no apparent reason. I have setup > Monitoring and as an example: > Ps -ef |grep httpd|wc -l returns: > > 260 at 8:40 > 332 at 8:41 > 403 at 8:42 > 570 at 8:43 > 564 at 8:44 > 449 at 8:45 > 332 at 8:46 > > Here are the numbers just before 8:40 and right after 8:46 > 05/27/09-08:39:01 AM > 108 > 05/27/09-08:47:01 AM > 71 > 05/27/09-08:48:01 AM > 61 > 05/27/09-08:49:01 AM > 61 > > And the server normally has any where from 60-100 httpd daemons at any > time. Then randomly it will begin the spike. No specific day or time. > > We are not experiencing an increase of visitors to the server at the > corresponding times. We know this because we have setup monitoring of > the firewall > That records all traffic to that server. > > My apache version is Apache/2.2.9 running on RedHat Linux 5.2 > My apache httpd.conf is: > > Timeout 120 > KeepAlive Off > MaxKeepAliveRequests 100 > KeepAliveTimeout 15 > <IfModule prefork.c> > MinSpareServers 5 > MaxSpareServers 10 > StartServers 5 > ServerLimit 1024 > MaxClients 1024 > MaxRequestsPerChild 20 > </IfModule> > > The MaxClients and ServerLimit had to be moved up because we were > experiencing major latency on the site when they were at the default > values of 256. > We do utilize tomcat as the application server of which there are 4 > separate linux servers that run tomcat and 2 additional linux servers > serving as db servers. > > I really could use some help in determining what is causing these very > random and very dramatic httpd process spikes. > > Thanks for any help! > > Apache will only create new servers if there are no children available when a request comes in. As you said that you see no unusual increase in requests, this could potentially be due to some requests running longer than normal, therefore tieing up worker children. You would need to diagnose this by looking at the server-status (mod_info) at the times when your server is overloaded. On the other hand, your configuration says that this number of children is perfectly fine, you are allowing a maximum of 1024 child processes, so having 500 at certain times is worrying you, then you should probably drop that slightly. Have you considered not using prefork MPM? From your description, this apache sounds like a proxy/static content server - at $JOB we use the worker MPM for this sort of scenario, there is virtually no load on the servers, and they see a reasonable amount of traffic, around 2 million hits per day. Cheers Tom --------------------------------------------------------------------- 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