自从锐速发布以来,这款牛逼的单边加速神器的确为一些线路不太优秀的服务器带来了更优秀的体验。但是呢,过高的价格和不再低端售卖。导致了我们并无法实现一个免费好用的单边加速功能。
但是谷歌为我们带来了干货 新的 TCP 拥塞控制算法 BBR (Bottleneck Bandwidth and RTT)。 目前在 Linux Kernel 4.9 中加入了该算法,所以我们只要升级内核就可以爽一波了。难懂的技术说明,我们也不说了,TCP BBR 的目的就是要尽量跑满带宽,并且尽量不要有排队的情况。
注: 更新内核有一定风险,请注意备份。
开启 TCP BBR
只要 Linux 发行版的 Kernel 即内核版本大于等于 4.9 即可开启,开启方法是通用的,如何升级至 Kernel 将在下面介绍。
修改系统变量:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存并执行 sysctl -p 生效。执行,
sysctl net.ipv4.tcp_available_congestion_control
如果结果是这样
root@debian:~# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno
就开启了。
然后执行下面的命令,看到有 tcp_bbr 模块即说明BBR已启动。
lsmod | grep bbr
Debian/Ubuntu 升级内核
查看当前系统内核:
uname -a
下载最新内核,最新内核查看这里
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
安装内核
dpkg -i linux-image-4.9*.deb
Debian 和 Ubuntu 默认会以 4.9 启动。更新 grub 系统引导文件并重启
update-grub reboot
然后我们可以查看一下目前的内核版本:
root@longsays:~# uname -a Linux longsays 4.9.0-040900-generic #201612111631 SMP Sun Dec 11 21:33:00 UTC 2016 x86_64 GNU/Linux
可见已经是最新的了。
关闭 TCP BBR
sed -i '/net\.core\.default_qdisc=fq/d' /etc/sysctl.conf
sed -i '/net\.ipv4\.tcp_congestion_control=bbr/d' /etc/sysctl.conf
sysctl -p
执行完上面的代码,就使用reboot重启VPS后才能关闭bbr,重启后再用下面的查看bbr状态代码,查看是否关闭了。
因为BBR是集成在内核中的,所以不能卸载,除非更换其他的内核。
文章末尾固定信息
1F
一个scp的测试样例。开启 tcp_bbr 前:
30MB.pdf 100% 45MB 5.0MB/s 00:09
开启 tcp_bbr 后:
30MB.pdf 100% 45MB 11.2MB/s 00:04