I run a fairly busy site with a Wordpress blog and vBulletin forums. I
recently dumped Apache and and using nginx for everything (which has
been incredible and I would never go back). I’m using PHP as fastCGI
and have a wrapper script to start the process. We average about 1,000
concurrent users at any given time. Usually anywhere from 800 to 1200+.
This is the script I found to start php-cgi:
env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN
$PHP -b $FCGI_BIND_ADDRESS &
echo $! > “$PHP_PID”
This has been working great and PHP hasn’t completely died on me yet.
The problem that I’m having is that while viewing TOP, php-cgi seems to
die and restart about every 2-3 minutes, sometimes as often as every
minute. At least it restarts itself, but that can take a couple of
seconds, causing a delay if you happen to be browsing the site during
In the above script, I’ve tried increasing the PHP_FCGI_MAX_REQUESTS,
even as high as 1,000,000. I’ve also tried completely omitting that
value. No matter what, php-cgi reacts the same way.
I know it needs to recycle itself to prevent memory leaks, but I don’t
think it should be happening that often. Any ideas on how to fix this?
Posted at Nginx Forum: