TCP优化配置–适用于酸酸乳

亲测,在安装锐速后,再进行一次 tcp 优化,还能增加下载效果。

增加 tcp 连接数量

编辑 limits.conf

增加以下两行

* soft nofile 51200
* hard nofile 51200

开启酸酸乳 服务之前,先设置一下 ulimit

ulimit -n 51200
调整内核参数

首先科普下 TCP 拥塞控制算法:
中美之间的线路质量不是很好, rtt 较长且时常丢包。 TCP 的设计目的是解决不可靠线路上可靠传输的问题,即为了解决丢包,但丢包却使 TCP 传输速度大幅下降。 HTTP 协议在传输层使用的是 TCP 协议,所以网页下载的速度就取决于 TCP 单线程下载的速度(因为网页就是单线程下载的)。丢包使得 TCP 传输速度大幅下降的主要原因是丢包重传机制,控制这一机制的就是 TCP 拥塞控制算法。

Linux 内核中提供了若干套 TCP 拥塞控制算法,这些算法各自适用于不同的环境。
1 ) reno 是最基本的拥塞控制算法,也是 TCP 协议的实验原型。
2 ) bic 适用于 rtt 较高但丢包极为罕见的情况,比如北美和欧洲之间的线路,这是 2.6.8 到 2.6.18 之间的 Linux 内核的默认算法。
3 ) cubic 是修改版的 bic ,适用环境比 bic 广泛一点,它是 2.6.19 之后的 linux 内核的默认算法。
4 ) hybla 适用于高延时、高丢包率的网络,比如卫星链路——同样适用于中美之间的链路。

我们需要做的工作就是将 TCP 拥塞控制算法改为 hybla 算法,并且优化 TCP 参数。

1 、查看可用的算法。
主要看内核是否支持 hybla ,如果没有,只能用 cubic 了。

2 、如果没有该算法,则加载 hybla 算法(不支持 OpenVZ )

3 、首先做好备份工作,把 sysctl.conf 备份到 root 目录

4 、修改 sysctl.conf 配置文件,优化 TCP 参数

添加以下代码

5 、保存生效

小结

经测试, digitalocean,ramnode 的 KVM 等内核支持 hybla 算法。但是 linode 的内核目前不支持

需要注意的是每次重启需要重新加载 hybla 算法模块,可以写入 rc.local 自动启动。

发表回复