PostHeaderIcon TCP tuning

Набрел тут на статью, которая описывает оптимизацию tcp стека во freebsd. Открыл для себя кое-что новое, до этого не слышал. Не уверен, что все перевел правильно, но указания к действию там достаточно прямые:

В FreeBSD начиная с 7 ветки добавлен TCP autotuning, в 8.2 улучшены алгоритмы контроля перезагрузки (cubic and HTCP).
Вот рекомендованные настройки для /etc/sysctl.conf (часть из них — по умолчанию, но приводится для тех, кто по каким-либо причинам внес изменения вручную):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
   # set to at least 16MB
   kern.ipc.maxsockbuf=16777216
   # set autotuning maximum to at least 16MB too
   net.inet.tcp.sendbuf_max=16777216  
   net.inet.tcp.recvbuf_max=16777216
   # enable send/recv autotuning
   net.inet.tcp.sendbuf_auto=1
   net.inet.tcp.recvbuf_auto=1
   # increase autotuning <a href="http://normproject.org/">play online casino slots</a> step size
   net.inet.tcp.sendbuf_inc=16384
   net.inet.tcp.recvbuf_inc=524288
   # turn off inflight limitting
   net.inet.tcp.inflight.enable=0
   # set this on test/measurement hosts
   net.inet.tcp.hostcache.expire=1

Начиная с FreeBSD 8.2 можем включить H-TCP:

1
  net.inet.tcp.cc.default.algo=htcp

По умолчанию параметр inflight limiting включен, что хорошо для модемной связи, но может приводит к ухудшению связи в ряде случаев при высокоскоростном соединении. Поэтому выключаем.
По умолчанию FreeBSD кэширует соединения в течение одного часа, что хорошо для web-сервера, но в других случаях приводит к снижению производительности канала. Поэтому, если у нас не web-сервер, приводим hostcache.expire к значению 1, что назначает время кэширования в 5 минут. Более подробно здесь.
Кроме того, есть патч, позволяющий использовать h-tcp в седьмой ветке.
Что за h-tcp такой, который всем срочно нужен, не знаю. Сейчас пойду выяснять, как выясню — запишу.

Оставить комментарий

PR-CY.ru