BBR (Bottleneck Bandwidth and RTT) 是 Google 提供的 TCP 拥塞控制算法,适用于复杂网络环境下的 TCP 加速。由于众所周知的原因,天朝的网络情况在全世界都排得上号,很多情况下我们不得不进行一些细小的优化才能达到满意的效果。
话不多说了,首先需要准备的条件
- Debian 8.x 或者 Debian 9.x 系统,当然以下教程也适合 Ubuntu 14.04 或 Ubuntu 16.04
- 如果是虚拟机,那么得使用 KVM 或 Xen 等可以修改内核的平台,OpenVZ 方法我们不做介绍
- 如果不是新的机器,请事先做好备份,因为内核万一挂了机器启动不起来是一件及其麻烦的事情
1、升级内核
BBR 只支持 4.9.x 以上的内核,所以我们需要更新升级以下
如果你使用的是 Debian 9.x,那么这一步可以直接跳过,其他三个内核版本较旧的系统,我们可以使用 Ubuntu 打包好的内核安装包
首先,找到 4.9.x 以上版本的稳定内核,这里我们推荐使用 LTS 版本,目前最新的是 4.9.40 下载安装即可
mkdir kernel-tmp && cd kernel-tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.40/linux-headers-4.9.40-040940_4.9.40-040940.201707271932_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.40/linux-headers-4.9.40-040940-generic_4.9.40-040940.201707271932_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.40/linux-image-4.9.40-040940-generic_4.9.40-040940.201707271932_amd64.deb
sudo dpkg -i *.deb
安装完以后直接 reboot 重启,一切顺利的话请检查以下当前的内核版本
root@debian ~ # uname -r
4.9.0-3-amd64
2、写入配置文件
直接修改 /etc/sysctl.conf
文件即可
cat >> /etc/sysctl.conf << EOF
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
EOF
然后使用 sysctl -p
命令让内核配置生效,不出意外,应该会提示
root@debian ~ # sysctl -p
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr
此时可以使用 lsmod | grep bbr
命令检查 BBR 是否已正确开启
root@debian ~ # lsmod | grep bbr
tcp_bbr 16384 61
如果出现 tcp_bbr
字样则说明没有问题
评论 (0)