我们访问美国 VPS 有较高的延迟、还会出现丢包等现象,修改 TCP 拥塞控制算法可以有效改善。
TCP 拥塞控制算法有很多套,其中 hybla 适用于高延时、高丢包率的网络。
1. 加载 tcp_hybla 模块
/sbin/modprobe tcp_hybla
2. 查看是否已经正常加载
lsmod |grep hybla
3. 查看当前可用的拥堵算法,这时最后面会出现 hybla
sysctl net.ipv4.tcp_available_congestion_control
4. 修改 /etc/sysctl.conf 文件,在最后面添加
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.ip_local_port_range = 10000 65000
net.ipv4.tcp_max_syn_backlog = 8192
net.ipv4.tcp_max_tw_buckets = 5000
net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_mtu_probing=1
net.ipv4.tcp_congestion_control=hybla
5. 使 hybla 立即生效
sysctl -p
6. 使用第 3 步的命令查看 hybla 算法是否在最前面。
注意 OpenVZ 虚拟化的 VPS 不可以使用。