tcp_nodelay on;

Михаил Монашёв postmaster at softsearch.ru
Fri Apr 24 18:30:39 MSD 2009


Здравствуйте, Максим.

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 at softsearch.ru
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.






More information about the nginx-ru mailing list