开启TCP BBR拥塞控制算法

Linux 4.9版的内核新增了名为BBR的拥塞控制算法,可以有效加快TCP数据传输速度和降低延迟。

注:openvz架构的vps不能开启bbr,因为openvz不支持更换内核。

Debian/Ubuntu 系统

  • 下载最新内核,最新内核查看这里
    1
    wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-image-4.9.0-040900rc8-generic_4.9.0-040900rc8.201612051443_amd64.deb
  • 安装内核

    1
    dpkg -i linux-image-4.9.0*.deb
  • 删除其余内核,除4.9以外的内核都要删除

    1
    2
    dpkg -l|grep linux-image 
    apt-get remove linux-image- #按上条命令显示的结果补全
  • 更新 grub 系统引导文件并重启

    1
    2
    update-grub
    reboot
  • 开启bbr

    1
    2
    echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
    echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

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


Centos6/7

  • 安装方法
1
rpm -ivh 地址
  • 地址

    EL6(Centos6/RedHat6) :

    1
    http://elrepo.org/people/ajb/devel/kernel-ml/el6/x86_64/RPMS/kernel-ml-4.9.0-0.rc8.el6.elrepo.x86_64.rpm

    EL7(Centos7/RedHat7) :

    1
    http://elrepo.org/people/ajb/devel/kernel-ml/el7/x86_64/RPMS/kernel-ml-4.9.0-0.rc8.el7.elrepo.x86_64.rpm

PS.还有一些devel headers的包啥的你们看心情吧,我为了稳定点是全装了,需要注意的是有些和原依赖有冲突。请使用rpm -qa|grep kernel获取包全名,使用rpm -e 包全名 --nodeps 进行强制删除,然后 rpm -ivh 地址 进行安装。

另外部分机器重启后不会使用新内核,请修改 /etc/grub.conf ,查看 default=,0 为下方第一个内核,一般是最新的(也就是我们安装的)


via: