Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re[2]: tcp_nodelay on;
Здравствуйте, Максим.
Friday, April 24, 2009, 6:25:47 PM, Вы писали:
MD> Hello!
MD> On Fri, Apr 24, 2009 at 05:44:33PM +0400, Михаил Монашёв wrote:
>> Здравствуйте, Игорь.
>>
>> >> Имеет ли смысл писать в конфиге
>> >>
>> >> tcp_nodelay on;
>> >>
>> >> если на машине огромный сетевой трафик?
>> >>
>> >> Как я понимаю, delay, если и будет, то скорее всего минимальный.
>>
>> IS> Это уже дефолт. А delay появляется в keepalive.
>>
>> Как я понимаю, tcp_nodelay on работает так: в сокет пишутся данные и
>> они тут же отправляются. Если tcp_nodelay off, то данные пишутся,
>> немного ждётся, не поступят ли ещё данные, и потом они отправляются,
>> если данных становится больше, чем mtu, или если наступает таймаут.
>> Т.е. при tcp_nodelay off в теории должно сокращаться количество
>> пакетов в сети (что на большом трафике хорошо), но будут появляться
>> небольшие задержки, которые тюнятся через sysctl. Я всё верно написал,
>> или что-то напутал?
MD> Да. Но поскольку nginx использует внутреннюю буферезацию и не
MD> отправляет в сеть пакеты меньше postpone_output (1460 байт по
MD> умолчанию), то особого смысла отключать tcp_nodelay не имеет.
А если у меня mtu 9000, а не 1500 ?
--
С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.
|