BBR 是 Google 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。

BBR解决了两个问题:

再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。

降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
可以使用本教程和脚本 也可以使用方法二:centos7开启谷歌bbr

项目地址:https://github.com/google/bbr
升级内核
开启BBR要求4.9及以上版本Linux内核,可使用如下命令查看当前内核版本:

uname -r

可以得到类似如下的结果:
3.10.0-514.10.2.el7.x86_64
如果当前内核版本低于 4.10,可使用 ELRepo 源更新:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo rpm -Uvh https://elrepo.org/elrepo-release-7.0-5.el7.elrepo.noarch.rpm

在 ELRepo 中有两个内核选项,一个是 kernel-ml(主线最新版本),一个是 kernel-lt(长期支持版本),主线最新版本性能会更好,长期支持版本更稳定一些。

安装kernel-ml(主线最新版本)
yum --enablerepo=elrepo-kernel install kernel-ml -y
或
yum --enablerepo=elrepo-kernel install kernel-ml-devel kernel-ml -y

安装kernel-lt(长期支持版本)
yum --enablerepo=elrepo-kernel install kernel-lt -y

安装完成后,查看已安装的内核:

rpm -qa | grep kernel

得到结果如下:
kernel-tools-libs-3.10.0-1160.el7.x86_64
kernel-3.10.0-1160.el7.x86_64
kernel-tools-3.10.0-1160.el7.x86_64
kernel-ml-5.15.6-1.el7.elrepo.x86_64
在输出中看到 kernel-ml-5.15.6-1.el7.elrepo.x86_64 类似的内容,表示安装成功。

修改grub2引导
执行:

sudo egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

会得到如下结果:
CentOS Linux (5.15.6-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-1160.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-14b23b81615f47b2b6431abdfe003cf4) 7 (Core)
由于序号从0开始,设置默认启动项为0并重启系统:
设置内核4.11.0为默认启动项

sudo grub2-set-default 0
reboot

重启完成后,重新登录并重新运行uname命令来确认你是否使用了正确的内核:

uname -r

得到如下结果则升级成功:
4.11.0-1.el7.elrepo.x86_64
开启BBR
执行:

echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

完成后,分别执行如下命令来检查 BBR 是否开启成功:

sudo sysctl net.ipv4.tcp_available_congestion_control
# 输出应为 net.ipv4.tcp_available_congestion_control = bbr cubic reno
sudo sysctl -n net.ipv4.tcp_congestion_control
# 输出应为 bbr
lsmod | grep bbr
# 输出应类似 tcp_bbr  16384  28

速度测试

# 需先在 firewalld 中开启 http 服务
sudo dd if=/dev/zero of=500mb.zip bs=1024k count=500

访问 http://[your-server-IP]/500mb.zip 来测试一下下载速度吧~CentOS7

最后编辑:2021年12月07日 ©著作权归作者所有

发表评论

正在加载 Emoji

仅有一条评论