[horde] Too many httpd processes and no response

ANANT S ATHAVALE asa at isac.gov.in
Tue Jan 14 09:40:47 UTC 2014

  ----- 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
>>>> httpd.  By this, there won't any issue for atleast one hour and
>>>> 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
>>> 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
> 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.
> 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.
>>>> I am unable to diagonise this right now.
>>>> 1. I have installed HGWE on RHEL 6.4
>>>> 2. Using APC Cache as provided with RHEL
>>> Is there enough memory available for APC? Look at the apc.php status
>>> page to see if there is sufficient memory available, especially if
>>> you're using it as a caching backend.
>> This, I have started monitoring now.  Being a holiday today, it has
>> used 56.2 MB.  I had restarted httpd yesterday evening.  Right now, I
>> have set it to 256 MB.  System has 32 GB RAM.
> Monitor that value under use and make sure it is never for more that
> about 75% full.
> OK.
>>>> 3. Using PHP 5.3.3-27 as provided with RHEL
>>>> 4. Using SquirrelMail IMAP proxy latest stable version, compiled on
>>>> same server.
>>>> 5. Using Cyrus-IMAP server on a remote server and following string
>>>> logged
>>>> in Horde-IMAP debug log
>>>> newisacmail.isac.dos.gov.in Cyrus IMAP v2.4.17-Invoca-RPM-2.4.17-6.el6
>>>> server ready
>>> Have you enabled IMAP caching in imp/config/backends.local.php?
>> following is the conf.php for Horde.
>> $conf['session']['cache_limiter'] = 'nocache';
>> $conf['share']['cache'] = false;
>> $conf['cache']['default_lifetime'] = 86400;
>> $conf['cache']['driver'] = 'Apc';
>> $conf['cache']['use_memorycache'] = 'Apc';
> This is redundant. You're already using a memory caching backend, so
> 'use_memorycache' has no effect.
>> $conf['cachecssparams']['driver'] = 'filesystem';
>> $conf['cachecssparams']['lifetime'] = 86400;
>> $conf['cachecss'] = true;
>> $conf['cachejsparams']['driver'] = 'filesystem';
>> $conf['cachejsparams']['compress'] = 'php';
>> $conf['cachejsparams']['lifetime'] = 604800;
>> $conf['cachejs'] = true;
>> $conf['cachethemesparams']['check'] = 'appversion';
>> $conf['cachethemesparams']['lifetime'] = 604800;
>> $conf['cachethemes'] = true;
>> and backendslocal.php for IMP it is:
>> 'cache' => 'cache',
> This value is not recommended. From the comments in
> 'imp/config/backends.php':
> *     - 'cache': Caching is enabled using the Horde cache (configured
> *           horde/config/conf.xml). It is recommended to use either
> 'nosql'
> *           or 'sql' instead, as these backends have much better
> performance.
>> Do I need to change this to NoSQL?
> If you already have a NoSQL server available, yes. If you don't, a SQL
> server will work just fine. Given the amount of data to store, you'll
> not want 'cache' here, since potentially there will be way more data
> than the memory caching backend you have configured can store.
> I am switching over to SQL.
>>>> I am unable to debug why httpd suddenly starts too many processes.  I
>>>> have
>>>> already enabled DEBUG log in Horde conf.php
>>> Definitly don't do this. Your investigating a performance problem here.
>>> Logging at level DEBUG will generate tons of information and on a busy
>>> server this will be enough to bring it to its knees.
>> Today, being holiday, I will continue with DEBUG and disable in the
>> evening.
> Again, DON'T DO THIS! NEVER, EVER enable DEBUG on a production system!
> You'll get WAY too much logging to be useful on a production system.
> Typically, DEBUG is used on a system with a single (test)user to
> diagnose what is going on if a function of Horde doesn't work as desired.
> I will disable DEBUG, as you suggest. 
> --
> Horde mailing list
> Frequently Asked Questions: http://horde.org/faq/To unsubscribe, mail:
> horde-unsubscribe at lists.horde.org

----- End message from Arjen de Korte <arjen+horde at de-korte.org> -----

Thank you.  I will keep updating.
Confidentiality Notice: This e-mail message, including any attachments, is for
the sole use of the intended recipient(s) and may contain confidential and
privileged information. Any unauthorized review, use, disclosure or
distribution is prohibited. If you are not the intended recipient, please
contact the sender by reply e-mail and destroy all copies of the original

More information about the horde mailing list