ubuntu18.04开启Google BBR的正确方法


#1

这里首先介绍一下什么是 Google BBR。

2016年09月,Google向Linux Kernel提交了Google BBRPull Request。Google BBR是一种新的TCP拥塞控制算法,在Google的内部广域网(B4)中已经进行了广泛的测试,该算法可以充分利用网络带宽,特别是可以在20%以内丢包率下保持较高的带宽,并且尽量不要有排队的情况,BBR可以起到单边加速TCP连接的效果,类似于"锐速",可用于优化TCP连接(使ss连接更快)。(相关论文)。

Linux内核从4.9开始,已经内置了该算法,所以只需要执行一些简单的命令就可以直接开启该功能,从而达到提高网速的目的。

下面就以Linode主机上面的ubuntu 18.04LTS版本为例,介绍一下BBR的开启方法。

首先查看一下系统内核版本:

uname -r

输出:

4.15.0-43-generic

该版本大于Linux4.9,所以可以直接开启BBR。(这里要说明一下,有些云服务器商的定制系统即便内核大于4.9,在键入lsmod |grep bbr命令后并不会直接显示内置tcp_bbr模块,但实际是有的。)

下面输入如下命令,从而开启BBR功能:

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

输出:

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

重启主机系统:

reboot

待系统重启完毕后,检查系统是否成功编译开启了tcp_bbr模块:
键入命令:

sysctl net.ipv4.tcp_available_congestion_control

输出:

net.ipv4.tcp_available_congestion_control = reno cubic bbr

键入命令:

sysctl net.ipv4.tcp_congestion_control

输出

net.ipv4.tcp_congestion_control = bbr

键入命令:

lsmod |grep bbr

输出:

tcp_bbr                20480  2

如果输出信息正确,则说明已成功开启了BBR功能。