ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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;



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

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

MD> 8960

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

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

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

До меня дошло. Размер postpone_output можно подобрать через ping:

sudo ping -D -s <packet-size> <ip>

Просто нужно подставлять <packet-size> всё больше и больше, пока пинги
не пропадут.

--

С уважением,
Михаил Монашёв, SoftSearch.ru
mailto:postmaster@xxxxxxxxxxxxx
ICQ# 166233339
http://michael.mindmix.ru/
Без бэкапа по жизни.




 




Copyright © Lexa Software, 1996-2009.