使用 Google BBR 拥塞算法加速 TCP

原创 wuwenwu  2016-12-19 14:44  阅读 38,613 次

Google BBR是一个TCP加速优化工具,类似于锐速,可用于优化 TCP 连接。最近一下就火起来了,说明还是有牛逼的地方,咱也别落后,用起来。

GitHub 地址为:https://github.com/google/bbr

仔细看了看,GitHub 主页上有明确的说明“This is not an official Google product.” 说明这其实不是 Google 的官方项目,但是是在 Google 的 GitHub 上,比较奇怪。

要想启用 BBR 需要切换内核,所以必须要 KVM 或者 XEN 架构的 VPS。这点和锐速一致,所以 Openvz 的朋友是用不了的。由于需要跟换内核,属于危险操作,请不要用于生产环境,可能会造成无法开机,切记!

至于加速效果,有人反馈比锐速好,有人反馈比锐速弱。我测试后感觉效果还是不错的,但是用起来比破解版锐速放心一些吧,它是内置到最新的内核里边了。

安装 BBR

1.一键安装脚本

网上有 BBR 的一键安装脚本,我找到两个:

  1. wget --no-check-certificate https://github.com/52fancy/GooGle-BBR/raw/master/BBR.sh && sh BBR.sh

可用于 CentOS 6。

  1. wget -N --no-check-certificate https://soft.dou-bi.co/Bash/bbr.sh && chmod +x bbr.sh && bash bbr.sh

可用于 Debian / Ubuntu 14.04 + (说明看这里:https://www.dou-bi.co/wlzy-16/)。

我是手动安装的,没测试过,请自测。CentOS 7 可以看这里:https://zhujiwiki.com/10156.html

2.手动安装方式

先看官方手动编译内核的文档:

https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md

看起来比较麻烦,我们还是直接安装编译好的吧。

我的系统是 Ubuntu x64,可以直接到 ppa 仓库里下载:

http://kernel.ubuntu.com/~kernel-ppa/mainline/

网页拉到最后,看最新的内核,当前最新的是 v4.9:

http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/

下载内核文件:

  1. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb
  2. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb
  3. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

32位下这些:

  1. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900_4.9.0-040900.201612111631_all.deb
  2. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-headers-4.9.0-040900-generic_4.9.0-040900.201612111631_i386.deb
  3. wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_i386.deb

下载完成之后可以开始安装了:

  1. sudo dpkg -i linux-headers-4.9*.deb linux-image-4.9*.deb

安装完成之后可以删除多余的内核:

  1. dpkg -l | grep linux-image | awk '{print $2}' | grep -v 'linux-image-4.9' | sudo xargs dpkg --purge
  2. dpkg -l | grep linux-headers | awk '{print $2}' | grep -v 'linux-headers-4.9' | sudo xargs dpkg --purge

然后更新一下 grub:

  1. # sudo update-grub
  2. Generating grub configuration file ...
  3. Found linux image: /boot/vmlinuz-4.9.0-040900rc8-generic
  4. Found initrd image: /boot/initrd.img-4.9.0-040900rc8-generic
  5. done

重启 vps:

  1. sudo reboot

重启之后,查看一下当前的内核:

  1. # uname -r
  2. 4.9.0-040900-generic

已经是 4.9 了,现在可以启用 BBR 了:

  1. sudo bash -c 'echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf'
  2. sudo bash -c 'echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf'
  1. sysctl -p

使配置生效。
然后可以检查一下:

  1. # sysctl net.ipv4.tcp_available_congestion_control
  2. net.ipv4.tcp_available_congestion_control = bbr cubic reno
  1. # lsmod | grep bbr
  2. tcp_bbr                20480  14

结果里边已经有 BBR 了,说明启用成功。没成功的话,再重启一下 VPS。

Debian 的手动安装方法可以看这里:https://moonagic.com/try-bbr/

本文地址:http://www.laifengba.com/?p=2463
关注我们:请关注一下我们的微信公众号:扫描二维码,公众号:aiboke112
版权声明:本文为原创文章,版权归 wuwenwu 所有,欢迎分享本文,转载请保留出处!

评论已关闭!