On Friday 28 March 2014 18:47:27 Алексей Щуров wrote: > Проблема заключается в периодическом "замирании" передачи статичного > файла, возникает в основном на высокоскоростных соединениях. > С включенным limit_rate 200k я ни разу не поймал проблему. > Включил debug_connection для одного тестового клиента, далее > отфильтрованные записи из лога (могу полный лог отправить если надо): > 2014/03/28 16:09:44 [debug] 22512#0: *102725 HTTP/1.1 200 OK > Server: nginx/1.4.7 > Date: Fri, 28 Mar 2014 12:09:44 GMT > Content-Type: application/octet-stream > Content-Length: 17775749 > Connection: keep-alive > ETag: "532070bd-10f3c85" > Last-Modified: Fri, 2 Jan 1970 00:00:01 GMT > Accept-Ranges: bytes > > 2014/03/28 16:09:44 [debug] 22512#0: *102725 write new buf t:1 f:0 > 00000000072252E8, pos 00000000072252E8, size: 260 file: 0, size: 0 > ... > 2014/03/28 16:09:44 [debug] 22512#0: *102725 write old buf t:1 f:0 > 00000000072252E8, pos 00000000072252E8, size: 260 file: 0, size: 0 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 write new buf t:0 f:1 > 0000000000000000, pos 0000000000000000, size: 0 file: 0, size: > 17775749 > ... > 2014/03/28 16:09:44 [debug] 22512#0: *102725 writev: 260 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 sendfile: @0 17775749 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 sendfile: 3440640, @0 > 3440640:17775749 > ... > 2014/03/28 16:09:44 [debug] 22512#0: *102725 write old buf t:0 f:1 > 0000000000000000, pos 0000000000000000, size: 0 file: 3440640, size: > 14335109 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 http write filter: l:1 > f:0 s:14335109 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 http write filter limit 0 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 sendfile: @3440640 14335109 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 sendfile() is not ready > (11: Resource temporarily unavailable) > 2014/03/28 16:09:44 [debug] 22512#0: *102725 sendfile: -1, @3440640 0:14335109 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 http write filter > 0000000007225478 > 2014/03/28 16:09:44 [debug] 22512#0: *102725 http copy filter: -2 "/test.bin?" > 2014/03/28 16:09:44 [debug] 22512#0: *102725 http writer output > filter: -2, "/test.bin?" > 2014/03/28 16:09:44 [debug] 22512#0: *102725 event timer: 154, old: > 1396008594706, new: 1396008594706 > ... > 2014/03/28 16:09:54 [debug] 22512#0: *102725 event timer del: 154: > 1396008594706 > 2014/03/28 16:09:54 [debug] 22512#0: *102725 http run request: "/test.bin?" > 2014/03/28 16:09:54 [debug] 22512#0: *102725 http writer handler: "/test.bin?" > 2014/03/28 16:09:54 [info] 22512#0: *102725 client timed out (110: > Connection timed out) while sending response to client, ...
Из лога видно, что клиент отвалился по таймауту, тех 10 секунд что вы поставили в send_timeout явно не достаточно, вероятно клиент не успевает потреблять с такой скоростью. Значение по умолчанию там 60 секунд, зачем трогали? > > В общем как мне кажется проблема где-то около "sendfile() is not ready > (11: Resource temporarily unavailable)" > Похожая ситуация возникает с sendfile off, но уже "writev() not ready > (11: Resource temporarily unavailable)" [..] Эти сообщения - часть нормальной работы: сокетный буфер заполнился, писать больше некуда. -- Валентин Бартенев _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru