• Debian8/Centos7 开启 TCP-BBR 的方式

    谷歌推出的 TCP-BBR 开源算法,起到单线程加速的作用 %&*(!$(&# (此处省略X字) :bubble_funny: 你要是问我具体什么理论和技术... 网络上有很多文章。我不懂我怎么说?

    https://github.com/google/bbr
    https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.md?utm_source=www.iyu.co
    https://groups.google.com/forum/#!forum/bbr-dev

    开启 TCP-BBR 首先要升级 Linux 内核,也就是升级到 4.9.0 (目前是这个版本,以后会有更高的更新)

    OpenVZ 架构的 VPS 没办法使用。
    OpenVZ 架构没法更换 Linux Kernel ,不过可以使用一些个人编写的软件加速,这里不讲。

    部分服务商首先要去后台改一下内核设置,例如 Digital Ocean 和 Linode

    如何更新 Digital Ocean 服务器 linux 内核?
    我的 VPS 服务商是 Digital Ocean ,首先要在服务商的网页后台,Kernel 选择为 GrubLoader ,远程命令 poweroff VPS 关机 (为了避免数据损坏使用命令关机而不是网页后台),后台进入 Power ,选择 Power On VPS 开机,如果没问题应该可以开始更换内核了。

    这里我出现了些问题,因为选择几次 GrubLoader,我已经安装配置好内核,但是内核没有改变,我当时是傻掉的。
    原因是 DO 在国内属于被墙一半的情况,这几天网络掉包严重,DO 后台选择后没有生效...

    Linode 服务商 Kernel 选择 GRUB 2启动 (大概这样?! 我没有使用过 Linode )

    0_1483265435231_QQ截图20170101175544.png

    以下是我使用的操作系统,所以如果问,嗯? 好像有些系统是通用或者差不多哎,为什么没有写上呢,那是因为我没试过哎. :bubble_funny:

    Debian 9 可直接开启 BBR,不需要更换 Kernel.

    确认现在正使用的 linux 内核
    内核 4.9 以上可以直接启动BBR

    uname -a

    Debian 8

    这里根据官方文档升级内核 https://wiki.debian.org/HowToUpgradeKernel

    搜寻内核镜像,它会列出一个表,来选一个 .
    apt-cache search linux-image

    如没有,需要在 /etc/apt/sources.list 添加 deb http://ftp.debian.org/debian jessie-backports main
    apt update

    apt-cache search linux-image

    选中一个内核然后安装
    apt install -t jessie-backports linux-image-4.9.0-2-grsec-amd64

    查看内核列表
    dpkg -l|grep linux-image

    运行 update-grub 更新引导 . reboot 重启系统 , 重启完成后执行 uname -a 查看内核版本,如果是你刚刚安装好的,说明完成了更新 .

    Centos
    http://elrepo.org/tiki/tiki-index.php

    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 -y
    

    查看内核列表,第一个的编号是 0

    egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \'

    返回信息,可以看见刚刚安装的内核 4.9 处于第1位,编号 0

    CentOS Linux (4.9.0-1.el7.elrepo.x86_64) 7 (Core)
    CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)
    CentOS Linux (3.10.0-327.10.1.el7.x86_64) 7 (Core)
    CentOS Linux (3.10.0-229.20.1.el7.x86_64) 7 (Core)
    CentOS Linux (0-rescue-fd8cf26e06e411e4a9d004010897bd01) 7 (Core)
    

    设置处于编号 0 的 4.9 内核默认运行
    grub2-set-default 0

    重启 linux,SSD 存储器的服务器重启速度还是快的,几十秒就可以重新操作 .
    reboot

    查看内核是否在使用 4.9
    uname -r

    返回信息

    [root@set-fire ~]# uname -r
    4.9.0-1.el7.elrepo.x86_64
    

    开启 TCP-BBR

    写入参数到 sysctl.conf

    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 已经启用

    [root@set-fire ~]# sysctl net.ipv4.tcp_available_congestion_control
    
    net.ipv4.tcp_available_congestion_control = bbr cubic reno
    

    查看 bbr 是否在运行

    lsmod | grep bbr
    

    返回信息

    [root@set-fire ~]# lsmod | grep bbr
    tcp_bbr                16384  29 
    

    这样应该安装完成了,可以测试一下有没有传输速度上的提升。:bubble_funny:

    我认为传输速度提升是有的,只是效果的差别,有些服务器作用明显,有些服务器因为网路传输原因而作用微小... 并且中国大陆有神奇的网路(丢包)。

    当你凝视柱子的时候,柱子也在注视着你

  • :bubble_funny:

    アルトリア・ペンドラゴン

  • :bubble_funny:

    我就是我,我就是zdh_ssd >_<

  • @zdh_ssd 不允许你发滑稽!

    アルトリア・ペンドラゴン

  • @zdh_ssd @ArturiaPendragon 你们这样真够无聊的

    当你凝视柱子的时候,柱子也在注视着你

  • :bubble_squinting: :bubble_spray: :bubble_spray: :bubble_spray: :bubble_spray: :bubble_spray:

    我就是我,我就是zdh_ssd >_<

  • @ArturiaPendragon 在 Centos7 开启 TCP-BBR 的方式 中说:

    @zdh_ssd 不允许你发滑稽!

    :bubble_funny:

    我就是我,我就是zdh_ssd >_<

  • @zdh_ssd0_1483355753298_QQ图片20161227183515.jpg

    アルトリア・ペンドラゴン

  • @ArturiaPendragon 0_1483355803767_QQ图片20170102191630.png

    我就是我,我就是zdh_ssd >_<

  • 0_1483355870285_QQ图片20161229122702.jpg

    アルトリア・ペンドラゴン

  • @ArturiaPendragon 0_1483355951973_QQ图片20170102191855.jpg

    我就是我,我就是zdh_ssd >_<

  • @zdh_ssd
    0_1483355996449_QQ图片20170102191945.png

    アルトリア・ペンドラゴン

  • @ArturiaPendragon 0_1483356046622_QQ图片20170102192036.jpg

    我就是我,我就是zdh_ssd >_<

  • @zdh_ssd
    0_1483356070959_QQ图片20170102192107.jpg

    アルトリア・ペンドラゴン

  • @ArturiaPendragon 0_1483356210157_QQ图片20170102192314.jpg 0_1483356216640_QQ图片20170102192320.jpg

    我就是我,我就是zdh_ssd >_<

  • @zdh_ssd
    0_1483356253534_QQ图片20170102192405.jpg
    0_1483356279470_QQ图片20170102192434.jpg

    アルトリア・ペンドラゴン