最后更新日期:2017.09.20
BBR是来自于Google的黑科技,目的是通过优化和控制TCP的拥塞,充分利用带宽并降低延迟,起到神奇般的加速效果。 在BBR之前,比较有名的就是国产的锐速了,不过,由于锐速是个国产的闭源软件,所以一直纠结不想装在VPS上。正好,BBR的出现,又成为一个可供折腾的对象。
BBR 这个特性其实是在 Linux 内核 4.9 才计划加入的。所以,要开启BBR,需要内核版本在Linux kernel 4.9以上。下面纪录一下如何升级Linux内核,并且开启BBR:
Debian 8 / Ubuntu 14 / Ubuntu 16
友情提示:如果安装最新的Ubuntu 17版本,有可能内核已经为4.10了,可以不用再升级内核了
下载最新内核,最新内核查看这里
1 | wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.4/linux-image-4.11.4-041104-generic_4.11.4-041104.201706071003_amd64.deb |
- 安装内核
1 | dpkg -i linux-image-4.*.deb |
- 清理不用的旧内核(可选)
1 | apt-get autoremove |
- 更新 grub 系统引导文件并重启
1 | update-grub |
CentOS 7
- 下载更换内核
最新内核查看这里
1 | rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org |
- 查看内核是否安装成功
1 | rpm -qa | grep kernel |
- 删除旧内核(可选)
1 | rpm -ev 旧内核 |
- 更新 grub 系统引导文件并重启
1 | egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' |
- 注意,某些服务商(如Digital Ocean)可能需要首先将VPS配置为可自定义内核,然后grub2的配置才会生效。
开启BBR
开机后 uname -r
看看是不是内核4.9、4.10或4.11
执行 lsmod | grep bbr
,如果结果中没有 tcp_bbr
的话就先执行
1 | modprobe tcp_bbr |
执行
1 | echo "net.core.default_qdisc=fq" /etc/sysctl.conf |
保存生效sysctl -p
执行
1 | sysctl net.ipv4.tcp_available_congestion_control |
如果结果都有bbr
, 则证明你的内核已开启bbr。看到有 tcp_bbr 模块即说明bbr已启动,这样,就可以开始体验Google的黑科技加速了……
搬瓦工VPS开启BBR的新姿势
搬瓦工的VPS预装系统里面,有的模板已经自带了BBR了,也就是说,你也不需要额外的配置了,选择这种带BBR的预装系统,就能直接启用BBR加速了:
最后,用Google Cloud台湾和搬瓦工CN2的主机试了一下,上油管,1080P不卡,1440P也不卡,速度快到飞起!很棒!