Linux启用tcp_hybla,加速网络

OpenVZ的VPS是不支持修改内核的,所以,OpenVZ就不用看下文了,没用。Xen,KVM,VMware之类的是支持修改内核的,所以,就有了下面的折腾。刚买了个HK的KVM,顺便做测试。

加载tcp_hybla模块

/sbin/modprobe tcp_hybla

OpenVZ的机器这一步就会报错。

然后看下是否正确加载了此模块

lsmod |grep hybla

测试是否正确加载:

$ lsmod |grep hybla
tcp_hybla               2310  5
$ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = hybla cubic reno

两次都看到hybla,说明已正常加载。

修改系统配置(以CentOS 6为例)

vim /etc/sysctl.conf

在最后添加如下内容:

fs.file-max = 65536

net.core.rmem_max = 67108864
net.core.wmem_max = 67108864
net.core.rmem_default = 65536
net.core.wmem_default = 65536
net.core.netdev_max_backlog = 4096
net.core.somaxconn = 4096

net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 0
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 = 4096
net.ipv4.tcp_max_tw_buckets = 5000
net.ipv4.tcp_rmem = 4096 87380 67108864
net.ipv4.tcp_wmem = 4096 65536 67108864
net.ipv4.tcp_mtu_probing = 1
net.ipv4.tcp_congestion_control = hybla
# 选择性开启
#net.ipv4.tcp_fastopen = 3

使修改立即生效:

sysctl -p

测试

这里就不说了,效果是有一些的,但是肯定不会非常明显!而且跟主机商也有很大关系!

OK,收工!

20160828 补充:

卸载模块的方法:

rmmod tcp_hybla

注意:tcp_hybla 适用于延迟高,丢包高的网络,例如中美之间,如果是亚洲的低延迟的机器,请使用 tcp_htcp 代替,方法类似

赞 (4)

评论