tcp_nodelay on;

Maxim Dounin mdounin at mdounin.ru
Fri Apr 24 19:46:50 MSD 2009


Hello!

On Fri, Apr 24, 2009 at 06:58:41PM +0400, Михаил Монашёв wrote:

> Здравствуйте, Максим.
> 
> >> MD> Да.  Но поскольку nginx использует внутреннюю буферезацию и не 
> >> MD> отправляет в сеть пакеты меньше postpone_output (1460 байт по 
> >> MD> умолчанию), то особого смысла отключать tcp_nodelay не имеет.  
> >> 
> >> А если у меня mtu 9000, а не 1500 ?
> 
> MD> Увеличить postpone_output при увеличении mtu должно быть полезно, 
> MD> по крайней мере для внутренних соединений.
> 
> А сколько ставить? 9000 минус 40, т.е. 8960? Или 9000?

8960

> Просто я не совсем понимаю, почему postpone_output 1460, а не 1500. На
> что отводятся эти 40 байт?

MTU - это сколько пролезет в ethernet.  А пролезть должны данные и 
заголовки протоколов по дороге (ip, tcp).  Для заголовков 40 байт 
и отводятся.  Если протоколов больше или они другие (e.g. тунели 
или ipv6) - то отводить надо больше.

http://en.wikipedia.org/wiki/Maximum_segment_size

Maxim Dounin





More information about the nginx-ru mailing list