Google BBR 优化算法,实现TCP加速

文章目录

Google BBR 算法

 

BBR加速魔改优化版,更有效的提升访问速度>>>> Google BBR魔改版安装教程,支持CentOS6/7和Ubuntu14

 

这是2016年9月份才开源的一个优化网络拥堵的算法。

目前最新版本的Linux内核(4.9-rc8)中已经集成了该算法。

据很多人反馈,速度比锐速还厉害!!

毕竟是新鲜的东西,难免有BUG,酌情使用。

更新动态

2017年2月16日01:01:11

新增秋水逸冰一键安装脚本

 

2016年12月13日11:33:18

新增CentOS7 RMP 安装BBR步骤说明

新增CentOS6一键安装脚本

更新CentOS6 RMP包地址。

 

开源地址

https://github.com/google/bbr

注意这不是Google官方的产品。

 

使用必读

不支持OpenVZ虚拟!

安装前需要备份重要数据,安装完可能会导致系统无法启动!

系统无法修改请尝试修改引导!或者重装系统!

 

安装方式

Debian8/Ubuntu14

  • 下载最新内核,最新内核查看这里

  • 安装内核

  • 删除其余内核

  • 更新 grub 系统引导文件并重启

  • 开启bbr

保存生效  sysctl -p
执行  sysctl net.ipv4.tcp_available_congestion_control
如果结果中有 bbr, 则证明你的内核已开启bbr
执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明bbr已启动。

 

CentOS7

评论有人已经成功。

1)RMP安装(推荐)

先更新到7.3,安装elrepo官方4.9正式版

YUM 更新

查看内核版本

安装RPM

修改elrepo让yum update可用

把enabled=0改成enabled=1
然后保存之后yum update -y,就会更新到elrepo正式版4.9内核。

 

开启bbr

加两行:

保存生效  sysctl -p

 

2) 编译安装

 

然后修改系统启动引导文件:

需要修改Grub引导顺序,让新安装的内核作为默认内核。

或者执行:

然后重启

重启后,查看内核是否安装成功。

开启bbr

据人反馈:先把/etc/sysctl.conf 文件中 关于 net.ipv4.tcp_congestion_control的配置注释掉。

保存生效  sysctl -p
执行  sysctl net.ipv4.tcp_available_congestion_control
如果结果中有 bbr, 则证明你的内核已开启bbr
执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明bbr已启动。

 

 

CentOS6

 

1)一键安装(推荐)

安装脚本(开源地址:https://github.com/52fancy/GooGle-BBR)

之后重启服务器即可

验证是否安装成功

如果结果显示bbr安装成功。

如果失败,请尝试RMP安装。

 

 

2)RMP安装

RMP 地址:https://elrepo.org/linux/kernel/

 

 

CAC CentOS6 系统可直接执行以下代码(以下代码已经失效)

 

安装完成,修改启动引导。(自己百度vi 命令用法)

修改成 default=0

 

保存然后重启

重启后,查看内核是否安装成功。

开启bbr

据人反馈:先把/etc/sysctl.conf 文件中 关于 net.ipv4.tcp_congestion_control的配置注释掉。

保存生效  sysctl -p
执行  sysctl net.ipv4.tcp_available_congestion_control
如果结果中有 bbr, 则证明你的内核已开启bbr
执行 lsmod | grep bbr, 看到有 tcp_bbr 模块即说明bbr已启动。

 

编译安装(不推荐)

速度较慢。

 

修改Grub引导顺序,让新安装的内核作为默认内核。default = 0

重启

重启后,查看内核是否安装成功。

开启bbr

据人反馈:先把/etc/sysctl.conf 文件中 关于 net.ipv4.tcp_congestion_control的配置注释掉。

保存生效  sysctl -p
执行  sysctl net.ipv4.tcp_available_congestion_control
如果结果中有 bbr, 则证明你的内核已开启bbr
执行 ps -ef| grep bbr, 看到有 tcp_bbr 模块即说明bbr已启动。

 

一键安装

本脚本为秋水逸冰的一键安装。

系统支持:CentOS 6+,Debian 7+,Ubuntu 12+
虚拟技术:OpenVZ 以外的(KVM、Xen、VMware等)
内存要求:≥128M

 

安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。
重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

查看内核版本,含有 4.9 就表示 OK 了

返回值一般为:
net.ipv4.tcp_available_congestion_control = bbr cubic reno

返回值一般为:
net.ipv4.tcp_congestion_control = bbr

返回值一般为:
net.core.default_qdisc = fq

返回值有 tcp_bbr 模块即说明bbr已启动。

 

 

 

测试效果

使用 CloudAtCost 小JJ,安装SS测试了一下。

明显没有锐速效果好。

不知道建站会怎么样。

 

 

参考文献:

https://groups.google.com/forum/#!forum/bbr-dev

http://www.hostloc.com/thread-342411-1-1.html

https://www.91yun.org/archives/4216

https://teddysun.com/489.html

加入群【资源分享】51043359 原文链接:,转发请注明来源!

发表评论

  • 39 Responses to “Google BBR 优化算法,实现TCP加速”
    • jacky_jq

      google cloud 安装秋水逸冰脚本后ssh连不上,怎么解决啊?

      回复
    • helloworld

      不知道为什么 centos7 装好了执行ps -ef| grep bbr 什么都没有

      回复
    • 喻城

      怎么卸载

      回复
      • /etc/sysctl.conf
        将文件里添加的去掉不就行了

        沙发 回复
    • neighbads

      Red Hat Enterprise Linux Server (3.10.0-514.el7.x86_64) 7.3 (Maipo) RPM安装使用:
      rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
      yum install -y https://elrepo.org/linux/kernel/el7/x86_64/RPMS/kernel-ml-4.9.0-1.el7.elrepo.x86_64.rpm

      修改启动:
      grub2-set-default "Red Hat Enterprise Linux Server (4.9.7-1.el7.elrepo.x86_64) 7.3 (Maipo)"
      查看启动:
      grub2-editenv list
      重启:
      reboot

      修改设置:
      echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
      echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

      ...................................

      回复
      • 求大佬详述一下 这是啥?萌新不懂

        admin 回复私信
        • 上面没有 redhat 系统的 ,而且 centos rpm 安装的那个地址也失效了,刚刚弄完就发出来了,

          neighbads 回复
          • 哦,谢谢大佬反馈。
            centos rpm 地址,早就失效,等一会我换上新的。

            admin 回复私信
    • 狠你的人

      一键安装有后门,安装后很快就会被中马,修改root密码,请大家注意了。

      回复
      • 是么?应该木有吧。毕竟是开源的。没看见有恶意代码呢?
        给开源的大佬留言问问??

        admin 回复私信
    • 荔枝

      想问一下为什么博主的 RSS 常年出错……

      回复
    • PoroPro

      支持KVM OPZ XEN 都支持吗

      回复私信
    • 阿里路呀

      这单边加速 对延迟高丢的FP 有用吗

      回复
    • Reynard

      CentOS 7 已测试,暂无任何不良反应,速度与锐速相当。
      BBR开源单边还支持IPV6,锐速已出坑。
      谢博主,博主有空给我发个邮件,我有福利跟你说

      回复
      • CentOS6 貌似不行。

        admin 回复私信
        • 可能6确实太久了吧,很多都不一样

          Reynard 回复
          • 在CAC 上做实验呢。正在安装中...
            如果成功就更新到文章里。

            admin 回复私信
            • 回复admin :

              我在两部CAC上分别做了对比BBR在CAC上大概YouTube只有800-1000kb,锐速的能上到2500kb。。。

              sence 回复
            • 回复sence :

              是,CAC上还是锐速给力

              admin 回复私信
      • 是没有不良反映 但是完全没有加速效果啊

        neighbads 回复
        • 不可能啊,你查看一下内核和tcp模块是否生效,真的和锐速不相上下

          Reynard 回复
          • [root@vultr ~]# sysctl -p
            net.ipv6.conf.all.accept_ra = 2
            net.ipv6.conf.eth0.accept_ra = 2
            net.core.default_qdisc = fq
            net.ipv4.tcp_congestion_control = bbr
            [root@vultr ~]# sysctl net.ipv4.tcp_available_congestion_control
            net.ipv4.tcp_available_congestion_control = bbr cubic reno
            [root@vultr ~]# lsmod | grep bbr
            tcp_bbr 16384 0

            neighbads 回复
          • kcptun 跑的话 youtube 1080p 不卡,bbr 完全看不了。

            但是kcptun 双端 用着不太方便

            neighbads 回复
            • 回复neighbads :

              麻烦说一下机房或位置、ping值、丢包状况以及服务器上下行带宽,我感觉你这种情况不是BBR的问题

              Reynard 回复
            • 回复Reynard :

              我的宽带 ping 250ms左右 10秒丢1左右。vultr 最低的那个 地区:Singapore

              Centos7
              刚刚看了下百度,感觉csdn那个说的 对丢包情况优化没撒作用呢

              neighbads 回复
        • 给你发邮件了

          Reynard 回复
        • ramnode速度从20kb变成了2M,像坐了小火箭一样

          ecareyu 回复
      • 按照这教程的吗?
        什么主机和主机环境?

        hello 回复
      • 如何把ipv6的TCP控制算法改为BBR呢?
        net.ipv4.tcp_congestion_control是针对IPV4的设置啊
        没有net.ipv6.tcp_congestion_control这个配置项

        阔空晴云 回复
        • 已经搞清楚了,内核的文档里有说明:
          IPv6 has no global variables such as tcp_*. tcp_* settings under ipv4/ also
          apply to IPv6 [XXX?].

          IPV4下的TCP配置项设置同样应用于IPV6

          阔空晴云 回复
          • 请问你这边ipv6速度如何?我的速度上不去啊

            bitger 回复