Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: nginx-ru Digest, Vol 53, Issue 40
Hello!
On Fri, Mar 28, 2014 at 08:54:50PM +0400, Алексей Щуров wrote:
(В скобках замечу, что отвечать на digest - это плохая идея, т.к.
в результате не строятся цепочки сообщений и нет возможности
нормально посмотреть историю.)
> С таймаутом 60 секунд всё тоже самое, только клиент дольше ожидает данные.
> У тестового клиента очень высокая скорость и со стороны клиента это
> выглядит как быстро передавшиеся первые 1-4 Мбайта, потом полное молчание
> со стороны сервера и по таймауту от nginx приходит RST пакет.
>
> Как я понял когда буфер заканчивается sendfile возвращает nginx что он не
> полностью отдал файл:
> 2014/03/28 20:40:22 [debug] 9564#0: *99502 sendfile: @0 17775749
> 2014/03/28 20:40:22 [debug] 9564#0: *99502 sendfile: 1302528, @0
> 1302528:17775749
>
> а потом nginx по событию готовности клиента вызывает sendfile с последней
> позиции:
> 2014/03/28 20:40:22 [debug] 9564#0: *99502 sendfile: @1302528 16473221
>
> но у меня почему то стабильно останавливается передача после этой строки:
> 2014/03/28 20:40:22 [debug] 9564#0: *99502 sendfile() is not ready (11:
> Resource temporarily unavailable)
> 2014/03/28 20:40:22 [debug] 9564#0: *99502 sendfile: -1, @1302528 0:16473221
По получению EAGAIN из sendfile'а nginx должен сказать ядру (если
не сделал этого ранее), что ему следует уведомить nginx о
возможности записи в указанный сокет. А ядро, соответственно -
уведомить nginx, когда такая возможность появится.
Если этого не происходит, то возможно одно из двух:
1) В nginx'е где-то ошибка, и соответствующий event не
устанавливается.
2) В ядре где-то ошибка, и о соответствующем event'е nginx'у не
сообщают.
Чтобы понять, что именно происходит, нужно как минимум видеть
полный конфиг и полный debug log, а равно вывод "nginx -V" и
информацию о системе.
Ну и я оставлю эту ссылку здесь:
http://wiki.nginx.org/Debugging
--
Maxim Dounin
http://nginx.org/
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|