php-cgi constantly recycles every couple of minutes

merlin corey merlincorey at dc949.org
Wed Jan 27 01:54:59 MSK 2010


On Mon, Jan 25, 2010 at 11:17 AM, mindfrost82 <nginx-forum at nginx.us> wrote:
> 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:
>
>
> #!/bin/sh
>
> PHP=/usr/bin/php-cgi
> PHP_PID=/tmp/php.pid
> FCGI_BIND_ADDRESS=127.0.0.1:8888
> PHP_FCGI_CHILDREN=4
> PHP_FCGI_MAX_REQUESTS=1000
>
> env -i PHP_FCGI_CHILDREN=$PHP_FCGI_CHILDREN \
>        PHP_FCGI_MAX_REQUESTS=$PHP_FCGI_MAX_REQUESTS \
>       $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 this time.
>
> 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: http://forum.nginx.org/read.php?2,45516,45516#msg-45516
>
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>

PHP_FCGI_MAX_REQUESTS=1000

The children get automatically recycled when using this method, I believe.

-- Merlin



More information about the nginx mailing list