BBR presentation

BBRGoogle 提出的一种新型拥塞控制算法,可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。 BBR解决了两个问题: 再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路, 降低网络链路上的buffer占用率,从而降低服务器网络延迟, BBR(瓶颈带宽和RTT)是一种新的拥塞控制算法,由Google提供给Linux内核TCP堆栈。有了BBR,Linux服务器可以显着提高吞吐量并减少连接延迟。此外,部署BBR很容易,因为该算法只需要在发送方进行更新,而不需要在网络或接收方进行更新。 使用前先看看服务器的操作系统内核版本, 开启 BBR 要求 4.10 以上版本 Linux 内核,使用命令查看当前内核版本.


大部分服务器都是3.10的,你得到的结果是类似于这样的或者别的

[root@VM_0_15_centos ~]# uname -r
3.10.0-1062.9.1.el7.x86_64

 

1.先用yum更新下系统

$ yum update -y

 

2.启用ELRepo仓库

$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
$ yum --enablerepo=elrepo-kernel install kernel-ml -y

 

3.安装最新版本内核

$ yum --enablerepo=elrepo-kernel install kernel-ml

 

4.查看可以使用的内核版本

$ sudo awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
0 : CentOS Linux (4.18.7-1.el7.elrepo.x86_64) 7 (Core)
1 : CentOS Linux (3.10.0-862.11.6.el7.x86_64) 7 (Core)
2 : CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
3 : CentOS Linux (0-rescue-063ec330caa04d4baae54c6902c62e54) 7 (Core)

 

5.修改内核版本

#编辑 /etc/default/grub 文件,设置 GRUB_DEFAULT=0,通过上面查询显示的编号为 0 的内核作为默认内核

vim /etc/default/grub


GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=0  #这里修改成内核的版本#
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rhgb quiet"
GRUB_DISABLE_RECOVERY="true"

 

6.生成 grub 配置文件并重启

$ grub2-mkconfig -o /boot/grub2/grub.cfg

$ reboot

重启完成后查看内核是否已更新到4.10以上版本

 

7.内核升级完成后,开始BBR加速

$ echo 'net.core.default_qdisc=fq' | sudo tee -a /etc/sysctl.confnet.core.default_qdisc=fq

$ echo 'net.ipv4.tcp_congestion_control=bbr' | sudo tee -a/etc/sysctl.confnet.ipv4.tcp_congestion_control=bbr

$ sudo sysctl -p

 

8.检查BBR是否启用成功<

$ sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = bbr cubic reno
# 当返回结果包含bbr,则启用成功
$ lsmod | grep bbr
tcp_bbr                20480  1
# 当能查询到bbr,则启用成功

SSR链接试下速度,直播1080P,毫无压力,完美

 

9.一键开启脚本

如果你觉得上面的方法太麻烦了,也搞不懂,这里有一键脚本,但是有些厂商的主机不支持,比如腾讯云的主机,不支持的话就使用上面的方法也是一样的。傻瓜操作支持一键升级最新版本的内核并开启BBR加速,
BBR支持4.9以上的内核版本,如果低于这个版本则会自动下载最新内容版本的内核后开启,如果高于4.9以上则自动开启BBR加速

$ git clone -b master https://github.com/flyzy2005/ss-fly
$ ss-fly/ss-fly.sh -bbr
Last modification:December 22, 2020
如果你想请我喝奶茶的话