📑 文章章节大纲 (点击平滑直达)
众所周知 TCP 在丢包率高的时候,带宽急剧下降,谷歌在 Linux 内核中增加了 BBR 算法,通过修改 TCP 拥塞控制算法模块即可大幅增加可用带宽,好神奇啊……BBR 是来自于 Google 的黑科技,目的是通过优化和控制 TCP 的拥塞,充分利用带宽并降低延迟,起到神奇般的加速效果。 在 BBR 之前,比较有名的就是国产的锐速了,不过,由于锐速是个国产的闭源软件,所以一直纠结不想装在 VPS 上。正好,BBR 的出现,又成为一个可供折腾的对象。BBR 这个特性其实是在 Linux 内核 4.9 才计划加入的。所以,要开启 BBR,需要内核版本在 Linux kernel 4.9 以上。下面纪录一下如何升级 Linux 内核,并且开启 BBR:
Debian 8 / Ubuntu 14 / Ubuntu 16 / Ubuntu 18
提示:如果安装最新的 Ubuntu 17 及以上版本,有可能内核已经为 4.10 了,可以不用再升级内核了 - 安装内核
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
- 清理旧内核
apt-get remove
- 更新 grub 系统引导文件并重启
update-grub
reboot
开启 BBR
开机后执行 uname -r 确认内核版本是否为 4.9 以上版本。
执行 lsmod | grep bbr ,如果执行结果中没有 tcp_bbr 的话就先执行
modprobe tcp_bbr # 加载tcp_bbr模块
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf # 开机就加载该模块
执行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
或者编辑文件 /etc/sysctl.conf 添加
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
执行 sysctl -p ,使其立即生效
执行
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control
如果结果都有 bbr, 则证明你的内核已开启 bbr。看到有 tcp_bbr 模块即说明 bbr 已启动,这样,就可以开始体验 Google 的黑科技加速了……