httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James <ja...@linux-source.org>
Subject Re: [users@httpd] mod_fcgid: can't apply process slot for
Date Fri, 06 Dec 2013 01:27:35 GMT
That make sense Jeff. Thanks!

I have one issue I've noticed on my php application. When my PHP
application is performing some backups, I got the error of the following.


"Timed out while waiting for session lock. Wait for your current requests
to finish and try again later."
Internal Server Error
The server encountered an internal error or misconfiguration and was unable
to complete your request.
Please contact the server administrator, postmaster@domain.com and inform
them of the time the error occurred, and anything you might have done that
may have caused the error.
More information about this error may be available in the server error log.

It turns out this is related on timeout. I'm wondering which settings
should be adjusted on fcgid.conf?

Thanks.
James


On Thu, Dec 5, 2013 at 8:04 PM, Jeff Trawick <trawick@gmail.com> wrote:

> On Thu, Dec 5, 2013 at 1:52 AM, James <james@linux-source.org> wrote:
>
>> Thanks Igor.
>>
>> Some said the reason of that error message "mod_fcgid: can't apply
>> process slot" is because it has hitting a global limit of FcgidMaxProcesses
>> and a per-script limit of FcgidMaxProcessesPerClass. With that
>> explanation,  I'm curious what is the caused of high FastCGI application
>> processes. Does that mean there are more concurrent web users accessing on
>> domain.com? Or does that mean that since the maximum FastCGI process is
>> 150 to all vhost and each vhost can start up to 16 process as per the value
>> settings of FcgidMaxProcessesPerClass and domain.com had request pf more
>> than 16 processes?
>>
>
> It would be valuable to enable server status (mod_status) and look at the
> mod_fcgid portion of the report near the time this error is occurring.
>  That will likely shed light on the problem.
>
> Maybe you see that recently exited PHP processes are hanging around for a
> while, not getting reaped quickly.  (Decrease FcgidZombieScanInterval in
> that case.)
>
> You should probably set FcgidZombieScanInterval to 1 anyway so that exited
> processes don't hang around long.
>
>
>>
>>
>> On Thu, Dec 5, 2013 at 12:11 PM, Igor Cicimov <icicimov@gmail.com> wrote:
>>
>>> From the module man page:
>>>
>>> Description: Max requests handled by *each FastCGI application*
>>> Syntax: FcgidMaxRequestsPerProcess value
>>> Default: FcgidMaxRequestsPerProcess 0
>>> *Context: server config, virtual host*
>>> Status: External
>>> Module: mod_fcgid
>>>
>>> this setting can be applied on server and/or vhost context and affects
>>> all applications in that server/vhost. So yes you can fine tune this value
>>> per vhost.
>>>
>>>
>>>
>>>
>>> On Thu, Dec 5, 2013 at 2:10 PM, James <james@linux-source.org> wrote:
>>>
>>>> Hi Igor,
>>>>
>>>> Thanks for your reply.
>>>>
>>>> If I will set the value FcgidMaxRequestsPerProcess on virtual host,
>>>> would it be effected for domain.com only and not the rest of domain?
>>>>
>>>> Thanks.
>>>>
>>>>
>>>>
>>>> On Thu, Dec 5, 2013 at 10:46 AM, Igor Cicimov <icicimov@gmail.com>wrote:
>>>>
>>>>> FcgidMaxRequestsPerProcess must be <= to PHP_FCGI_MAX_REQUESTS
>>>>>
>>>>>
>>>>> On Thu, Dec 5, 2013 at 12:05 PM, James <james@linux-source.org>
wrote:
>>>>>
>>>>>> Hi there,
>>>>>>
>>>>>> I have the following:
>>>>>>
>>>>>> *Server specs:*
>>>>>> Memory = 7G
>>>>>> CPU = 2
>>>>>>
>>>>>> *Packages:*
>>>>>> httpd-2.2.25
>>>>>> mod_fcgid-2.3.7
>>>>>> php-5.3.27
>>>>>>
>>>>>> $ grep -v "#" /etc/httpd/conf.d/fcgid.conf
>>>>>> ..............................................
>>>>>> LoadModule fcgid_module modules/mod_fcgid.so
>>>>>> AddHandler fcgid-script fcg fcgi fpl
>>>>>> FcgidIPCDir /var/run/mod_fcgid
>>>>>> FcgidProcessTableFile /var/run/mod_fcgid/fcgid_shm
>>>>>> FcgidFixPathinfo 1
>>>>>> FcgidMaxRequestLen 1073741824
>>>>>> FcgidIOTimeout 7200
>>>>>> FcgidConnectTimeout 30
>>>>>> FcgidMaxRequestsPerProcess 10000
>>>>>> FcgidMinProcessesPerClass 0
>>>>>> FcgidMaxProcessesPerClass 16
>>>>>> FcgidMaxProcesses 150
>>>>>> FcgidIdleTimeout 240
>>>>>> FcgidProcessLifeTime 7200
>>>>>> FcgidIdleScanInterval 120
>>>>>> ..............................................
>>>>>>
>>>>>> $ cat /var/www/vhosts/apps/
>>>>>> domain.com/php-fcgi-scripts/php-fcgi-starter
>>>>>> ..............................................
>>>>>> #!/bin/sh
>>>>>> PHPRC=/var/www/vhosts/apps/domain.com/
>>>>>> export PHPRC
>>>>>> export PHP_FCGI_MAX_REQUESTS=5000
>>>>>> export PHP_FCGI_CHILDREN=0
>>>>>> exec /usr/bin/php-cgi
>>>>>> ..............................................
>>>>>>
>>>>>> *Error(s):*
>>>>>> ...........................
>>>>>> [warn] [client XXX.XXX.XXX.XXX] mod_fcgid: can't apply process slot
>>>>>> for /var/www/vhosts/apps/domain.com/php-fcgi-scripts/php-fcgi-starter
>>>>>> ...........................
>>>>>>
>>>>>>
>>>>>> It is always giving me this kind of error even though I increase
the
>>>>>> value of *FcgidMaxProcessesPerClass* into *20* for domain.com apache
>>>>>> config file manually.
>>>>>>
>>>>>> $ less /etc/httpd/vhosts/domain.com.conf
>>>>>> ..............................................
>>>>>> <VirtualHost *:80>
>>>>>>         ServerName      domain.com
>>>>>>         ServerAdmin     webmaster@domain.com
>>>>>>         DocumentRoot " /var/www/vhosts/apps/domain.com/httpdocs"
>>>>>>         AccessFileName .htaccess
>>>>>>
>>>>>>         <Directory " /var/www/vhosts/apps/domain.com/httpdocs">
>>>>>>         Options -Indexes FollowSymLinks
>>>>>>         AllowOverride None
>>>>>>         Order allow,deny
>>>>>>         allow from all
>>>>>>         </Directory>
>>>>>>
>>>>>>         <IfModule mod_fcgid.c>
>>>>>>           SuexecUserGroup username username
>>>>>>           *FcgidMaxProcessesPerClass 20*
>>>>>>          <Directory " /var/www/vhosts/apps/domain.com/httpdocs">
>>>>>>           Options +ExecCGI
>>>>>>           AllowOverride All
>>>>>>           AddHandler fcgid-script .php
>>>>>>           FCGIWrapper  /var/www/vhosts/apps/
>>>>>> domain.com/php-fcgi-scripts/php-fcgi-starter .php
>>>>>>           Order allow,deny
>>>>>>           Allow from all
>>>>>>          </Directory>
>>>>>>         </IfModule>
>>>>>>
>>>>>>         Include conf.d/apps.cfg
>>>>>>
>>>>>>         ErrorLog logs/domain.com/error.log
>>>>>>         CustomLog logs/domain.com/access.log combined
>>>>>> </VirtualHost>
>>>>>>
>>>>>> I would appreciate if anyone could shed me some lights to rectify
>>>>>> this error.
>>>>>>
>>>>>> Thank you.
>>>>>>
>>>>>> Kind regards,
>>>>>> James
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
>
> --
> Born in Roswell... married an alien...
> http://emptyhammock.com/
>

Mime
View raw message