Loading... ## BBR presentation <code>BBR</code> 是 <code>Google</code> 提出的一种新型拥塞控制算法,可以使 <code>Linux</code> 服务器显著地提高吞吐量和减少 <code>TCP</code> 连接的延迟。 <code>BBR</code>解决了两个问题: 再有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路, 降低网络链路上的<code>buffer</code>占用率,从而降低服务器网络延迟, <code>BBR(瓶颈带宽和RTT)是一种新的拥塞控制算法,由Google提供给Linux内核TCP堆栈。有了BBR,Linux服务器可以显着提高吞吐量并减少连接延迟。</code>此外,部署BBR很容易,因为该算法只需要在发送方进行更新,而不需要在网络或接收方进行更新。 使用前先看看服务器的操作系统内核版本, <code>开启 BBR 要求 4.10 以上版本 Linux 内核</code>,使用命令查看当前内核版本. --- <div class="tip inlineBlock warning"> 大部分服务器都是3.10的,你得到的结果是类似于这样的或者别的 </div> ``` [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 ``` <div class="tip inlineBlock warning"> 重启完成后查看内核是否已更新到4.10以上版本 </div>  ### 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,则启用成功 ```  <div class="tip inlineBlock success"> SSR链接试下速度,直播1080P,毫无压力,完美 </div>  ### 9.一键开启脚本 如果你觉得上面的方法太麻烦了,也搞不懂,这里有一键脚本,但是有些厂商的主机不支持,比如腾讯云的主机,不支持的话就使用上面的方法也是一样的。傻瓜操作支持一键升级最新版本的内核并开启<code>BBR</code>加速, <code>BBR</code>支持<code>4.9</code>以上的内核版本,如果低于这个版本则会自动下载最新内容版本的内核后开启,如果高于<code>4.9</code>以上则自动开启<code>BBR</code>加速 ``` $ git clone -b master https://github.com/flyzy2005/ss-fly $ ss-fly/ss-fly.sh -bbr ``` Last modification:December 22nd, 2020 at 06:24 pm © 允许规范转载 Support 如果你想请我喝奶茶的话 ×Close Appreciate the author Sweeping payments Pay by AliPay Pay by WeChat