安装 Google BBR 加速VPS网络

Google BBR就是谷歌公司提出的一个开源TCP拥塞控制的算法。详情可以看这儿:https://lwn.net/Articles/701165https://blog.sometimesnaive.org/article/8

实施过程

基础方法

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

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

    1. wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
    2. chmod +x bbr.sh
    3. ./bbr.sh
  2. 安装完成后,脚本会提示需要重启 VPS,输入 y 并回车后重启。 
    重启完成后,进入 VPS,验证一下是否成功安装最新内核并开启 TCP BBR,输入以下命令:

    1. uname -r

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

    1. sysctl net.ipv4.tcp_available_congestion_control

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

    1. sysctl net.ipv4.tcp_congestion_control

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

    1. sysctl net.core.default_qdisc

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

    1. lsmod | grep bbr

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

进阶方法 推荐!

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

  1. 升级内核

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

    1. yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel

    对于Centos 6,执行:

    1. sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf

    对于Centos 7,执行:

    1. grub2-set-default 0

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

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

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

    安装命令:

    1. dpkg -i xxxxxxxxxx.deb

    安装完后执行:

    1. /usr/sbin/update-grub

    升级完后请立即重启VPS reboot

  2. 启用Google BBR

    写入配置文件

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

    保存配置文件

    1. sysctl -p

    输入以下命令以检查是否成功

    1. sysctl net.ipv4.tcp_available_congestion_control

    若返回

    1. net.ipv4.tcp_available_congestion_control = bbr cubic reno

    则说明开启成功。

后记

目前,常见的加速方式有Finalspeed(tcpspeed),Kcptun,锐速等单双边加速工具。Google BBR的优势就在于,其能单边地从TCP连接的拥塞控制算法着手解决网络加速的问题,并且已经集中到内核中成为新一代的规范,没有其他对于系统性能的开销。并且,可以配合锐速,Finalspeed等使用以达到最佳的使用效果。关于Finalspeed的使用教程可参见《网络环境的科学主义现代化改造》

上一篇:VMware下CentOS7安装后,还原虚拟网络后,敲ifconfig不显示局域网ip解决方法


下一篇:[转]SQL SERVER整理索引碎片测试