通往成功之路

安装 Google BBR 加速VPS网络

2018-12-13  本文已影响11人  此十八

预备知识

在使用Google BBR之前,我们首先要了解它是什么。了解计算机网络的人都知道,在TCP连接中,由于需要维持连接的可靠性,引入了拥塞控制和流量管理的方法。Google BBR就是谷歌公司提出的一个开源TCP拥塞控制的算法。在最新的linux 4.9及以上的内核版本中已被采用。对于该算法的分析,这里有一篇文章值得一读。在本人的网络环境(武汉电信20MB)测试下,ss不经过其它的任何的优化就能轻松的跑满带宽。(speedtest测试或fast测试)。由于Google BBR非常新,任何低于4.9的linux内核版本都需要升级到4.9及以上才能使用,故若VPS本身内核版本较低的话,只有KVM架构的VPS才能使用本教程升级内核并使用,openvz的VPS用户若内核版本较低则无法使用!

基础方法

最简单的方法就是使用Google BBR一键安装脚本。

  1. 使用root用户登录,运行以下命令:

  2. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
    chmod +x bbr.sh
    ./bbr.sh</pre>

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

  3. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">uname -r</pre>

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

  4. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sysctl net.ipv4.tcp_available_congestion_control</pre>

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

  5. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sysctl net.ipv4.tcp_congestion_control</pre>

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

  6. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sysctl net.core.default_qdisc</pre>

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

  7. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">lsmod | grep bbr</pre>

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

进阶方法 推荐!

由于一键包会进行很多很多判断和处理,而其中有很多步骤可以用更高的效率手工实现。

  1. 升级内核

    对于Centos用户, 请执行如下命令:

  2. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel</pre>

    对于Centos 6,执行:

  3. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf</pre>

    对于Centos 7,执行:

  4. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">grub2-set-default 0</pre>

    而对于Debian / Ubuntu系统,可以在Ubuntu Kernel上下载最新版的内核deb安装包。

    对于64位系统,下载amd64的linux-image中含有generic的deb包,

    对于32位系统,下载i386的linux-image中含有generic的deb包。

    安装命令:

  5. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">dpkg -i xxxxxxxxxx.deb</pre>

    安装完后执行:

  6. <pre style="margin: 0px; padding: 0px; white-space: pre-wrap; overflow-wrap: break-word; font-family: "Courier New" !important; font-size: 12px !important;">/usr/sbin/update-grub</pre>

    升级完后请立即重启VPS****reboot

-----------Talk is cheap!-------------

上一篇下一篇

猜你喜欢

热点阅读