BBR加速

  1. 什么是BBR
  2. 脚本安装方法:
  3. 手动安装方法:
  4. 卸载方法:
  5. 内核编译:

什么是BBR

BBR是Google提出的一种新型拥塞控制算法,可以使Linux服务器显著地提高吞吐量和减少TCP连接的延迟,开源代码

https://github.com/google/bbr

网上也有很多教程,我使用的是被称之为bbr修正版,或者bbrplus

https://github.com/cx9208/bbrplus

脚本安装方法:

不要在生产环境使用一键脚本,建议手动安装,进不了系统用vnc切内核

一键脚本(全系统):

https://github.com/chiakge/Linux-NetSpeed

一键脚本(仅CentOS):

wget "https://github.com/cx9208/bbrplus/raw/master/ok_bbrplus_centos.sh" && chmod +x ok_bbrplus_centos.sh && ./ok_bbrplus_centos.sh

安装后,执行uname -r,显示4.14.129-bbrplus则切换内核成功
执行lsmod | grep bbr,显示有bbrplus则开启成功

手动安装方法:

  1. 卸载本机的锐速(如果有)

  2. 下载内核

    wget https://github.com/cx9208/bbrplus/raw/master/centos7/x86_64/kernel-4.14.129-bbrplus.rpm
  3. 安装内核

    yum install -y kernel-4.14.129-bbrplus.rpm
  4. 切换启动内核
    grub2-set-default ‘CentOS Linux (4.14.129-bbrplus) 7 (Core)’

  5. 设置fq

    yum install -y kernel-4.14.129-bbrplus.rpm
  6. 设置bbrplus

    echo "net.ipv4.tcp_congestion_control=bbrplus" >> /etc/sysctl.conf
  7. 重启

    reboot
  8. 检查内核版本

    uname -r
    • 显示4.14.129-bbrplus则成功
  9. 检查bbrplus是否已经启动

    lsmod | grep bbr
    • 显示有tcp_bbrplus则成功

卸载方法:

  • 安装别的内核bbrplus自动失效,卸载内核自行谷歌即可

内核编译:

只能用于4.14.x内核,更高版本的tcp部分源码有改动,要移植到高版本内核得自己研究

  • 下载4.14内核源码
    wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.14.91.tar.xz

  • 解压
    tar -Jxvf linux-4.14.91.tar.xz -C /root/

  • 修改linux-4.14.91/include/net/inet_connection_sock.h,139行

    u64 icsk_ca_priv[112 / sizeof(u64)];
    \#define ICSK_CA_PRIV_SIZE (14 * sizeof(u64))
    这两段数值改为112和14,如上
  • 修改/net/ipv4/tcp_output.c#L,1823行

    tcp_snd_wnd_test函数大括号后}
    换行添加EXPORT_SYMBOL(tcp_snd_wnd_test);
  • 添加tcp_bbrplus.c,删除/net/ipv4/tcp_bbr.c

    修改linux-4.14.91/net/ipv4/Makefile,
    obj-$(CONFIG_TCP_CONG_BBR) += tcp_bbrplus.o,bbr改为bbrplus
  • 安装依赖 centos

    yum -y groupinstall Development tools
    yum -y install ncurses-devel bc gcc gcc-c++ ncurses ncurses-devel cmake elfutils-libelf-devel openssl-devel rpm-build redhat-rpm-config asciidoc hmaccalc perl-ExtUtils-Embed xmlto audit-libs-devel binutils-devel elfutils-devel elfutils-libelf-devel newt-devel python-devel zlib-devel
  • debian

    wget -qO- git.io/superupdate.sh | bash
    apt-get install build-essential libncurses5-dev
    apt-get build-dep linux
  • 切换到目录 cd /root/linux-4.14.91

  • 配置

    make oldconfig
    或者
    make menuconfig
  • 确保CONFIG_TCP_CONG_BBR=m

  • 禁用签名调试

    • scripts/config --disable MODULE_SIG
    • scripts/config --disable DEBUG_INFO
  • 开始编译

    • centos:make rpm-pkg

    • debian:make deb-pkg


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 787772394@qq.com

文章标题:BBR加速

本文作者:二豆子·pwnd0u

发布时间:2021-11-21, 02:47:45

最后更新:2021-11-21, 03:35:12

原始链接:http://blog.codefat.cn/2021/11/21/BBR%E5%8A%A0%E9%80%9F/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏

/*爱心代码*/ /*雪花效果*/ /*百度代码自动提交*/