sixdianlogo

CentOS 7系统开启BBR拥塞算法优化TCP加速服务器网络

BBR是Google在2016年9月份开源的一个优化网络拥堵的算法。类似于锐速、Zetatcp、Finalspeed等,BBR也是通过单边优化TCP从而在同样的网络环境下更加高效的利用带宽和降低延迟。介于Google强大的开发背景和Linux4.9内核对BBR的引入,BBR是必会成为未来网络加速的首选方案。本人实测GigsGigs新加坡的服务器在开启BBR后,速度从3MB/s左右提高到了20MB/s左右,效果明显。下面就介绍如何在Centos7环境下开启BBR:

  1. 首先更新系统:
  2. yum update -y
  3. 安装最新的Linux内核(我是直接使用Elrepo编译好的内核进行安装):
  4. 
    rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
    rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
    yum --enablerepo=elrepo-kernel install kernel-ml
    
  5. 查看当前已安装的内核:
  6. awk -F\' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg
  7. 系统会返回类似结果:
  8. 
    CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
    CentOS Linux (3.10.0-514.2.2.el7.x86_64) 7 (Core)
    CentOS Linux (3.10.0-327.36.3.el7.x86_64) 7 (Core)
    CentOS Linux (3.10.0-327.28.2.el7.x86_64) 7 (Core)
    CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core)
    CentOS Linux, with Linux 3.10.0-123.el7.x86_64
    CentOS Linux, with Linux 0-rescue-3f57f163dfaf1ec9ed891518d1d2fafe
    
  9. 把CentOS Linux (4.9.0-1.el7.elrepo.x86_64)内核设置为默认并重启系统:
  10. 
    grub2-set-default 0
    reboot
    
  11. 编辑/etc/sysctl.conf,加入或修改如下两行:
  12. 
    net.core.default_qdisc = fq
    net.ipv4.tcp_congestion_control = bbr
    
  13. 执行如下命令以使以上修改生效:
  14. sysctl -p
  15. 查看BBR是否正常启动
  16. lsmod | grep bbr

    若显示tcp_bbr说明BBR已经正常启动。