fastcgi_keep_conn + PHP-FPM
Steffen Weber
steffen.weber at gmail.com
Fri Feb 8 16:49:03 UTC 2013
Yes, might be a problem in PHP (I'm using 5.4.11). Maybe these two PHP
bugs are related:
- https://bugs.php.net/bug.php?id=60961
- https://bugs.php.net/bug.php?id=63395
On Wed, Feb 6, 2013 at 5:22 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:
> Hello!
>
> On Wed, Feb 06, 2013 at 11:00:42AM +0100, Steffen Weber wrote:
>
>> The changelog of nginx 1.3.12 mentions a bugfix in the "fastcgi_keep_conn"
>> directive. Therefore I decided to give this feature a try.
>>
>> Snippet from nginx.conf:
>>
>> fastcgi_keep_conn on;
>>
>> upstream php {
>> server 127.0.0.1:9000;
>> keepalive 6;
>> }
>>
>> Snippet from php-fpm.conf:
>>
>> listen = 127.0.0.1:9000
>> pm = static
>> pm.max_children = 4
>> pm.max_requests = 5 # very low for demo purpose
>>
>> Now I run the following command:
>>
>> while true; do wget http://localhost/test.php -O- > /dev/null; done
>>
>> After 5 requests (pm.max_requests = 5) wget hangs and nginx logs the
>> following error:
>>
>> 2013/02/06 10:47:09 [error] 6795#0: *6 readv() failed (104: Connection
>> reset by peer) while reading upstream, client: ::ffff:127.0.0.1, server:
>> localhost, request: "GET /test.php HTTP/1.1", upstream: "fastcgi://
>> 127.0.0.1:9000", host: "localhost"
>>
>> It seems that nginx cannot cope with a restarting php-fpm process. Anything
>> I can do?
>
> From error message it looks like php-fpm closed connection
> uncleanly (socket closed with unread data in socket buffer?).
>
> Not idea about details as I can't reproduce it here on FreeBSD
> (connection reset on close if there are unread data in socket
> buffer is Linux-specific), but I don't think there is a room for
> improvement on nginx side. You may want to ask someone from
> php-fpm side to look into this (anight, are you here?).
>
> --
> Maxim Dounin
> http://nginx.com/support.html
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx
More information about the nginx
mailing list