killburn, are you still using the PHP_FCGI_CHILDREN setting in your php5-fcgi-starter scripts?
I posted in some thread a while back about removing that setting, and allowing fastcgi/fcgid to control all the processes itself. THis has helped me a ton, as most of the sites i host get hit very infrequently. Those processes are now allowed to die off and not have the set number always running.
Granted, I only have 23 actual accounts on my system as i'm still working on migrating people over (many more domains though), so i don't have the same scale problem as you, but I saw a HUGE change in making this configuration change.
For instance, here is what i see on my production system right now:
# ps aux|grep php-cgi |wc -l
11
Here are my current mod_fcgid settings:
Code:
IPCConnectTimeout 90
IdleTimeout 300
IdleScanInterval 120
ProcessLifeTime 900
MaxProcessCount 200
DefaultMinClassProcessCount 1
DefaultMaxClassProcessCount 5
IPCCommTimeout 300
BusyTimeout 300
BusyScanInterval 120
ErrorScanInterval 3
MaxRequestsPerProcess 500
ZombieScanInterval 3
in my php5-fcgi-starter I commented out as follows:
Code:
#PHP_FCGI_CHILDREN=2
#export PHP_FCGI_CHILDREN
#PHP_FCGI_MAX_REQUESTS=500
#export PHP_FCGI_MAX_REQUESTS
-
pgentoo