[horde] Too many httpd processes and no response

Arjen de Korte arjen+horde at de-korte.org
Tue Jan 14 12:49:41 UTC 2014


Citeren ANANT S ATHAVALE <asa at isac.gov.in>:

> ----- Message from Arjen de Korte <arjen+horde at de-korte.org> ---------
>    Date: Tue, 14 Jan 2014 09:58:43 +0100
>    From: Arjen de Korte <arjen+horde at de-korte.org>
> Subject: Re: [horde] Too many httpd processes and no response
>      To: horde at lists.horde.org
>
>> Citeren ANANT S ATHAVALE <asa at isac.gov.in>:
>>
>>> ----- Message from Arjen de Korte <arjen+horde at de-korte.org> ---------
>>>    Date: Mon, 13 Jan 2014 15:52:03 +0100
>>>    From: Arjen de Korte <arjen+horde at de-korte.org>
>>> Subject: Re: [horde] Too many httpd processes and no response
>>>      To: horde at lists.horde.org
>>>
>>>> Citeren ANANT S ATHAVALE <asa at isac.gov.in>:
>>>>
>>>>> Dear List,
>>>>>
>>>>> I have released HGWE 5.1.3 to my users from last 3 days.
>>>>>
>>>>> We are facing unusual problem.
>>>>>
>>>>> When there is not much load, there is no problem at all.
>>>>>
>>>>> But, during peak hours of usage on a working day, suddenly too many
>>>>> httpd
>>>>> processes start and user gets no response.  Only solution is to restart
>>>>> httpd.  By this, there won't any issue for atleast one hour and problem
>>>>> repeats.
>>>>
>>>> My first guess would be that you allow your server to spawn too many
>>>> processes to serve the incoming requests. If this is more than the
>>>> amount of memory allows, the result will be swapping and a dramatic
>>>> decrease in performance. Users will try to reconnect then, worsening the
>>>> problem. Which webserver are you using? If Apache, which MPM are you
>>>> using?
>>>
>>> Using Apache.  prefork MPM.  Default, as provided by RHEL.
>>
>> What is the average process size of Apache? You may need to change
>> 'httpd' in the below to whatever RHEL is using:
>>
>> ps -ylC httpd | awk '{x += $8;y += 1} END {print "Apache Memory Usage
>> (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'
>
> This is what I got on a minimal load condition. 
> Apache Memory Usage (MB): 1651.5
> Average Process Size (MB): 63.5191

That's a process size about what I would expect for a system running  
Horde. You'll want to keep an eye on these figures when the load is  
higher too.

>> Make sure that the server is actually under load, to make sure the
>> process sizes reported are representative. If the average process size
>> multiplied by the value of MaxClients in your apache configuration is
>> more than about 75-80% of the memory in the system, you're just waiting
>> for a disaster to happen sooner or later.
>
> As per this, I should not have MaxClients somewhere around 400 or even
> lesser.  Please correct me, if I am wrong.

Assuming that the amount of free memory (without Apache running) would  
be about 24 GB (allowing for some additional memory for other  
applications), MaxClients should definitly not be higher than about 400.

>> How many concurrent users do you expect to use Horde?
>
> I don't know, how to get concurrent users.  But, as soon as, office
> hours start, at least 500 to 600 users will login.

That should be manageable with MaxClients equal to 400 (and even quite  
a bit lower too), provided KeepAliveTimeout is set to a small enough  
number (not more than the default of 5 seconds, 2 seconds is better on  
a busy server).

What you should also check, is if under load the database (or IMAP)  
performance is not the limiting factor. If the database (or IMAP) is  
slow, the requests to Horde will take longer to complete and hence,  
the number of httpd processes will increase. There is nothing Apache  
or Horde can do about that.



More information about the horde mailing list