BBR是什么?

bbr是Google开发的拥塞控制算法,Linux内核4.9版本开始可以使用,可以起到单边加速TCP连接的效果,效果还是很明显的。当然也不能盲目信任,bbr也是有局限的。这里有两篇分析bbr的文章可以参考。
令人躁动一时且令人不安的TCP BBR算法
Linux Kernel 4.9中TCP BBR算法的科普解释

要求

  • 内核版本大于4.9.0,如果是Debian 9(stretch)的话,kernel不需要更换,跳过安装内核步骤
  • OpenVZ架构不支持更换内核,酌情处理

安装内核

bbr需要内核版本>=4.9.0

1
2
# uname -r
4.9.0-5-amd64

低版本内核怎么做

因为我VPS用的就是Debian,这里只说Debian系,Ubuntu 14/Debian 8 以及更低版本需要手动下载安装内核

  • Ubuntu下载地址

    1
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.15-rc5/linux-image-4.15.0-041500rc5-generic_4.15.0-041500rc5.201712240530_amd64.deb
  • Debian下载地址(也可以直接使用ubuntu的deb包)

    1
    wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.15.0-rc8-amd64_4.15~rc8-1~exp1_amd64.deb

安装内核:

1
dpkg -i linux-image-4.15.0-*.deb

更新grub并重启选择新kernel

1
2
update-grub
reboot

开启BBR

修改/etc/sysctl.conf

1
2
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

加载sysctl(或者重启)

1
sysctl -p

确认bbr是否开启

1
2
3
4
# sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr
# cat /proc/sys/net/ipv4/tcp_congestion_control
bbr

确认tcp_bbr模块启动

1
2
# lsmod |grep bbr
tcp_bbr

OK,BBR启动成功!

参考链接