如何开启BBR拥塞控制算法

如何开启BBR拥塞控制算法

网络线路如同高速公路,也有通畅和拥堵的情况产生,因此就产生了拥塞控制算法来解决当发现网络拥堵情况时该怎么办的问题。

什么是BBR拥塞控制算法?

BBR拥塞控制算法就是拥塞控制算法的一种,是Google在2016年发布的,BBR算法倾向于保证高吞吐和低延迟,可以更好的利用带宽,更适合解决视频卡顿等问题。Google已经在Youtube上使用了BBR算法。

接下来,我们来看看如何在VPS上开启BBR算法。
由于BBR算法已经在v4.9内核版本中支持了,所以下面介绍按照当前系统内核低于v4.9和高于v4.9两种情况介绍。

内核版本低于v4.9的开启BBR方法

  1. 手动升级内核版本到v4.9或者更高。
  2. 修改/etc/sysctl.conf配置,支持BBR算法。

以CentOS7为例开启BBR算法步骤

v4.9版本发布时间为2016-12-11,本文是2021年编写,因此已经很少有人还在使用v4.9版本以下内核了,但是如果你的确还在使用v4.9版本以下内核,那就可以使用下面的一件内核BBR加速脚本。

一键加速BBR脚本:切换到root用户下执行下面命令:

wget -N --no-check-certificate "https://raw.githubusercontent.com/chiakge/Linux-NetSpeed/master/tcp.sh"
chmod +x tcp.sh
./tcp.sh

不过这个脚本已经很久没有人维护了,有可能有些资源包会下载失败导致安装过程错误而重启后无法启动,所以执行前一定做好数据备份。

CentOS7手动开启BBR算法方法

升级内核

升级前检查内核版本:uname -r

# 安装ELRepo
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm

# 安装4.9版本内核
sudo yum --enablerepo=elrepo-kernel install kernel-ml -y

安装后,确认结果:

$ rpm -qa | grep kernel

kernel-ml-4.9.0-1.el7.elrepo.x86_64
kernel-3.10.0-514.el7.x86_64
kernel-tools-libs-3.10.0-514.2.2.el7.x86_64
kernel-tools-3.10.0-514.2.2.el7.x86_64
kernel-3.10.0-514.2.2.el7.x86_64

配置BBR拥塞控制算法

内核版本升级到4.9版本后,通过下面命令支持BBR拥塞控制算法:

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

通常更新内核后会以新版本内核重新启动的,现在为了让BBR算法生效,重启一下操作系统就可以了。

内核版本v4.9以上(包括v4.9)开启BBR方法(非常简单)

内核版本在4.9版本后默认支持bbr算法,可以直接通过下面方法支持(需要以root用户权限运行):

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

修改配置后,重启一下系统即可。

转载本文时请注明出处及本文链接地址如何开启BBR拥塞控制算法

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注