2015-01-22

TCP tuning

Рекомендованные настройки для /etc/sysctl.conf (часть из них – по умолчанию, но приводится для тех, кто по каким-либо причинам внес изменения вручную):
# 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 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:
net.inet.tcp.cc.default.algo=htcp
По умолчанию параметр inflight limiting включен, что хорошо для модемной связи, но может приводит к ухудшению связи в ряде случаев при высокоскоростном соединении. Поэтому выключаем. По умолчанию FreeBSD кэширует соединения в течение одного часа, что хорошо для web-сервера, но в других случаях приводит к снижению производительности канала. Поэтому, если у нас не web-сервер, приводим hostcache.expire к значению 1, что назначает время кэширования в 5 минут. Более подробно здесь.

Комментариев нет:

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