Обратите внимание на строку “Поставщик надстройки контроля перегрузки”. Если там не ctcp, то можно поменять её так:
netsh interface tcp set global congestionprovider=ctcp
Будет разрешено использование дополнительного алгоритма контроля перегрузки CTCP.
Для WinXP
Небольшие изменения в реестре:
123456
# turn on window scale and timestamp option
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Tcp1323Opts=3
# set default [[Протоколы|TCP]] receive window size
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\TcpWindowSize=256000
# set max [[Протоколы|TCP]] send/receive window sizes (max you can set using setsockopt call)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\GlobalMaxTcpWindowSize=16777216
Linux
1234
echo 7 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 1 > /proc/sys/net/ipv4/tcp_orphan_retries
Уменьшаем количество SYN-ACK проб (по умолчанию 5)
echo 2 > /proc/sys/net/ipv4/tcp_synack_retries
После наступления тишины, сколько держать соединение открытым (по умолчанию 7200 - два часа!)
1
echo 60 > /proc/sys/net/ipv4/tcp_keepalive_time
Увеличиваем размер возможной SYN очереди (по умолчанию 1024)
Увеличиваем размер очереди пакетов на сетевом интерфейсе, особенно полезно для Gigabit Ethernet
1
ifconfig eth0 txqueuelen 1000
Слишком много TIME_WAIT
Если
1
netstat -antpu | wc -l
показывает много (у меня до 54 000+ доходило), то можно
1234
echo 2 > /proc/sys/net/ipv4/tcp_tw_recycle #таймаут в 2 сек
echo 2 > /proc/sys/net/ipv4/tcp_tw_reuse #таймаут в 2 сек
sysctl net.ipv4.tcp_tw_recycle=1 #разрешаем использовать повторно
sysctl net.ipv4.tcp_tw_reuse=1 #разрешаем использовать повторно