Welcome! Log In Create A New Profile

Advanced

Re: nginx 1.4.1 - slow transfers / connection resets

Maxim Dounin
August 20, 2013 07:28AM
Hello!

On Tue, Aug 20, 2013 at 09:49:32AM +0200, Philip Hofstetter wrote:

> Ok. I have three debug logs now:
>
> http://www.gnegg.ch/debug-cancel.log
> is the first log I created where I quit curl once nginx has logged a
> 200 status with a truncated length to the access log (how can it log
> success while it's still transmitting data?)

A http status code nginx logs to access log corresponds to the
code sent to a client. As the code was already sent at the time
the problem was detected - it's 200.

> http://www.gnegg.ch/debug-full.log
> is the same request, but this time waiting for curl to complain about
> the connection reset. Again, nginx logs a 200 with truncated length
> (way before curl bails out)
>
> http://www.gnegg.ch/debug-staticfile.log
> Is me downloading a static file from one of the backend servers. This
> shows the same behavior as the dynamically generated response and
> helps ruling out fastcgi issues.
>
> To add a further note: The machine which shows this issue is under
> considerable load. When I run the tests against and identical machine
> which is not under load, the download runs correctly (until I do put
> it under load at which point it fails the same way).
>
> The fact that nginx logs the request as successful (but truncated)
> while it's still ongoing does kinda point to a kernel issue, but I'm
> really just guessing at this point.

Both full logs show that nothing happens in 60 seconds (while there are unsent data pending):

2013/08/20 09:33:31 [debug] 1692#0: *1101651 http output filter "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http copy filter: "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 image filter
2013/08/20 09:33:31 [debug] 1692#0: *1101651 xslt filter body
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http postpone filter "/index.php/winclient/gnegg?" 00000000022A7218
2013/08/20 09:33:31 [debug] 1692#0: *1101651 write new buf t:0 f:0 0000000000000000, pos 000000000231CAF0, size: 4096 file: 0, size: 0
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http write filter: l:0 f:1 s:4096
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http write filter limit 0
2013/08/20 09:33:31 [debug] 1692#0: *1101651 writev: 1953

Note: only 1953 of 4096 bytes were sent.

2013/08/20 09:33:31 [debug] 1692#0: *1101651 http write filter 00000000022A7228
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http copy filter: -2 "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 event timer del: 141: 1376984038781
2013/08/20 09:33:31 [debug] 1692#0: *1101651 event timer add: 141: 60000:1376984071388

Note: timer was set to timeout after 60 seconds.

2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream request: "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream process non buffered upstream
2013/08/20 09:33:31 [debug] 1692#0: *1101651 event timer: 141, old: 1376984071388, new: 1376984071390
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream request: "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream dummy handler
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream request: "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream process non buffered upstream
2013/08/20 09:33:31 [debug] 1692#0: *1101651 event timer: 141, old: 1376984071388, new: 1376984071645
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream request: "/index.php/winclient/gnegg?"
2013/08/20 09:33:31 [debug] 1692#0: *1101651 http upstream dummy handler
2013/08/20 09:34:31 [debug] 1692#0: *1101651 event timer del: 141: 1376984071388
2013/08/20 09:34:31 [debug] 1692#0: *1101651 http run request: "/index.php/winclient/gnegg?"
2013/08/20 09:34:31 [debug] 1692#0: *1101651 http upstream process non buffered downstream
2013/08/20 09:34:31 [info] 1692#0: *1101651 client timed out (110: Connection timed out) while sending to client, client: 80.219.149.116, server: , request: "POST /index.php/winclient/gnegg HTTP/1.0", upstream: "http://127.0.0.1:8081/index.php/winclient/gnegg", host: "REDACTED.popscan.ch"
2013/08/20 09:34:31 [debug] 1692#0: *1101651 finalize http upstream request: 408

After a 60 seconds timer was fired and client connection was
closed as timed out.

That is, from nginx point of view everything looks like a real
timeout.

Unfortunately, with location-level debug logs it's not possible to
see event handling details (and that's why it's generally
recommended to activate debug log at global level, BTW). But I
would suppose everything is fine there as well, and the problem is
actually a result of kernel's behaviour.

--
Maxim Dounin
http://nginx.org/en/donation.html

_______________________________________________
nginx mailing list
nginx@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx
Subject Author Posted

nginx 1.4.1 - slow transfers / connection resets

Philip Hofstetter August 19, 2013 08:08AM

Re: nginx 1.4.1 - slow transfers / connection resets

Maxim Dounin August 19, 2013 08:18AM

RE: nginx 1.4.1 - slow transfers / connection resets

Lukas Tribus August 19, 2013 01:06PM

Re: nginx 1.4.1 - slow transfers / connection resets

Philip Hofstetter August 20, 2013 03:16AM

Re: nginx 1.4.1 - slow transfers / connection resets

Philip Hofstetter August 20, 2013 03:26AM

Re: nginx 1.4.1 - slow transfers / connection resets

Philip Hofstetter August 20, 2013 03:50AM

Re: nginx 1.4.1 - slow transfers / connection resets

Maxim Dounin August 20, 2013 07:28AM

Re: nginx 1.4.1 - slow transfers / connection resets

Philip Hofstetter August 20, 2013 09:16AM

Re: nginx 1.4.1 - slow transfers / connection resets

Maxim Dounin August 20, 2013 09:52AM

Re: nginx 1.4.1 - slow transfers / connection resets

Igor Sverkos August 20, 2013 03:26PM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 213
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready