Hey!
i just switched to mod_fcgid and the response time of sites is good until i benchmark them :)
Under multiple concurrent requests (ab -c 50 -n10000) i get notices like this:
[Thu May 05 12:16:37 2011] [notice] mod_fcgid: /var/spool/www/user/aegir/drupal-7/index.php total process count 15 >= 15, skip the spawn request
and the server performs really really bad.
My mod_fcgid config:
AddHandler fcgid-script .fcgi .php
# Where to look for the php.ini file?
DefaultInitEnv PHPRC "/etc/php5/cgi"
# Maximum requests a process handles before it is terminated
MaxRequestsPerProcess 1000
# Maximum number of PHP processes
MaxProcessCount 15
# Number of seconds of idle time before a process is terminated
IPCCommTimeout 240
IdleTimeout 240
#Or use this if you use the file above
FCGIWrapper /usr/bin/php-cgi .php
DefaultInitEnv PHP_FCGI_CHILDREN 0
My mpm_worker settings:
<IfModule mpm_worker_module>
ServerLimit 2048
ThreadLimit 100
StartServers 10
MinSpareThreads 30
MaxSpareThreads 100
ThreadsPerChild 64
MaxClients 2048
MaxRequestsPerChild 5000
</IfModule>
I run a small ubuntu lucid instance at amazon. Benchmark is against a drupal-7 install in combination with apc & memcache.