Apache2/mod_fcgid/PHP Process Limits Not Respected

Posted by Daniel on Server Fault See other posts from Server Fault or by Daniel
Published on 2011-03-23T23:56:31Z Indexed on 2012/06/07 4:42 UTC
Read the original article Hit count: 405

Filed under:
|
|

I've recently moved to Apache2 / mod_fcgid / PHP from nginx / php_fpm. This is the second server on which I've made this migration, but it's used much less frequently than the first, which is working like a charm.

The problem is in the PHP processes that it's spawning. In looking at the mod_fcgid documentation, it appears that the default for killing idle processes is 300 seconds; I've changed that to 20. At this point, I'd be fine if 300 would work - but it's not happening. It's been running for nearly a day now, and server-status shows 12 active processes:

Process name: php5
Pid Active  Idle    Accesses    State
19243  84879   14420       11      Ready

Process name: php5
Pid Active  Idle    Accesses    State
20954  82143   149         22      Ready
20947  82149   149         22      Ready
20953  82143   149         13      Ready

Process name: php5
Pid Active  Idle    Accesses    State
20589  82765   23644       72      Ready

Process name: php5
Pid Active  Idle    Accesses    State
17663  86103   2034       117      Ready

Process name: php5
Pid Active  Idle    Accesses    State
19862  83961   1976        91      Ready

Process name: php5
Pid Active  Idle    Accesses    State
18495  85825   5164        18      Ready

Process name: php5
Pid Active  Idle    Accesses    State
25463  75109   23948       24      Ready

Process name: php5
Pid Active  Idle    Accesses    State
2466   60019   60016        2      Ready

Process name: php5
Pid Active  Idle    Accesses    State
20729  82541   12592       23      Ready

Process name: php5
Pid Active  Idle    Accesses    State
22135  80616   46361        6      Ready

PHP applications are not being served at this point - Apache is returning a 503. However, it is still serving the server-status module, and mod_mono/Mono 2.10 applications are still being served. The problem is with the PHP.

/etc/apache2/mods-available/fcgid.conf...

<IfModule mod_fcgid.c>
  AddHandler    fcgid-script .fcgi
  FcgidConnectTimeout 10
  FcgidMaxRequestsPerProcess 500
  FcgidIdleTimeout 20
  FcgidFixPathinfo 1
  FcgidMaxProcesses 10
</IfModule>

(heh - Max Processes isn't being respected either...) Of course, fcgid.conf is smylinked in mods-enabled.

© Server Fault or respective owner

Related posts about apache2

Related posts about php5