httpd-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <traw...@gmail.com>
Subject Re: [users@httpd] mod_fcgid: can't apply process slot for
Date Thu, 05 Dec 2013 12:04:42 GMT
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