最近给几台海外服务器统一更新了BBR支持,目测效果拔群。

因为服务器预装的是ubuntu的16.04,内核尚未升级到支持BBR版本,所以整个升级流程是这样的:

升级内核 --> 更新引导使新内核生效 --> 开启BBR

升级内核

首先去http://kernel.ubuntu.com/~kernel-ppa/mainline 找到最新的内核,(一般而言4.9以上内核都可以)找到对应的下载地址,我这里就以4.9.11-04091版本的内核地址为例,其他地址需要对应修改下面的下载网址和文件名称

curl http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9.11/linux-image-4.9.11-040911-generic_4.9.11-040911.201702181031_amd64.deb > linux-image-4.9.11-040911-generic_4.9.11-040911.201702181031_amd64.deb

dpkg -i linux-image-4.9.11-040911-generic_4.9.11-040911.201702181031_amd64.deb

更新引导

因为我用的是grub(大多数人用的也都是这个),所以更新引导就比较简单了。

update-grub

开启BBR

更新引导之后需要重启系统,然后用uname -a来看一下新的内核是否已经生效。

因为新内核默认是没有开启BBR效果的,所以我们需要开启BBR,具体指令如下:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p

这两句可以看到BBR开启的状态:

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control