Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: tcp_nodelay on;
Hello!
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. Я всё верно написал,
> или что-то напутал?
Да. Но поскольку nginx использует внутреннюю буферезацию и не
отправляет в сеть пакеты меньше postpone_output (1460 байт по
умолчанию), то особого смысла отключать tcp_nodelay не имеет.
Maxim Dounin
|