我们在中国境内租用国外VPS服务器的时候,由于地理位置距离中国较远,为了有效提升访问和下载速度,安装BBR加速功能就是比较好的方法之一。虽然现在很多美国主机商也都支持一键安装BBR加速功能,如搬瓦工的模版自带有BBR版本,但总体来看还是占少数。
TCP BBR是谷歌出品的TCP拥塞控制算法,目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果,Google提交到Linux主线并发表在ACM queue期刊上的TCP-BBR拥塞控制算法,继承了Google“先在生产环境上部署,再开源和发论文”的研究传统。
目前TCP-BBR已经在YouTube服务器和Google跨数据中心的内部广域网(B4)上部署,由此可见出该算法的前途。
TCP-BBR的目标就是最大化利用网络上瓶颈链路的带宽,一条网络链路就像一条水管,要想最大化利用这条水管,最好的办法就是给这跟水管灌满水。BBR解决了两个问题:
在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路。
降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户。
为了让大家更方便的在VPS服务器中安装BBR加速功能,本文以Centos7系统安装Google BBR加速为例,简单说说BBR加速功能的安装过程。
安装环境:
1、系统支持:CentOS 6+、Debian 7+,Ubuntu 12+。
2、虚拟构架: KVM、Xen、VMware ,OpenVZ 不支持。
3、BBR和锐速不能同时安装,一个是升级内核,一个是降级内核。
4、系统内核最低要求是4.9。
安装过程:
1、首先需要升级为4.9或最新Linux内核,使用终端登录VPS服务器,然后分别输入以下命令:
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
2、Linux内核安装成功之后,默认不是最新的,所以需要手动进行修改。
执行以下命令看看已经安装了哪些内核:
cat /boot/grub2/grub.cfg |grep menuentry
可以随便选择一个安装,这里执行安装5.4.2-1.el7.elrepo.x86_64,执行命令:
grub2-set-default ‘CentOS Linux 7 Rescue f162c5663d6044ba8d784979acd61b44 (5.4.2-1.el7.elrepo.x86_64)’
注意:CentOS Linux 7 Rescue f162c5663d6044ba8d784979acd61b44 (5.4.2-1.el7.elrepo.x86_64)’可以换成你自己想替代的版本。
3、安装完成后输入“reboot”命令重启VPS。
4、接下来执行uname命令来确认是否使用了正确的内核,命令如下:
uname -r
出现“5.4.2-1.el7.elrepo.x86_64”结果则升级成功。
5、内核弄好之后安装BBR,依次执行以下三个命令:
echo ‘net.core.default_qdisc=fq’ | sudo tee -a /etc/sysctl.conf echo ‘net.ipv4.tcp_congestion_control=bbr’ | sudo tee -a /etc/sysctl.conf sudo sysctl -p
6、安装BBR完成后,分别执行以下命令来检查BBR是否开启成功:
sudo sysctl net.ipv4.tcp_available_congestion_control #输出应为 net.ipv4.tcp_available_congestion_control = reno cubic bbr sudo sysctl -n net.ipv4.tcp_congestion_control # 输出应为 bbr lsmod | grep bbr # 输出应类似 tcp_bbr 20480 1
7、最后输入以下命令,看到输出含有bbr就说明安装成功。
sysctl net.ipv4.tcp_available_congestion_control
系统内核版本升级方法
需要注意的是,如果系统内核在4.9版本以下,那么是无法安装BBR的,所以需要升级内核,具体方法如下:
1、首先使用root用户登录VPS,然后执行以下命令:
wget –no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh
这时候会显示当前VPS操作系统(OS)和内核(Kernel)系统,例如小编内核版本就是3.10.0版本,如下图所示:
2、按回车键之后等个几分钟,安装成功后就会会看到新的内核,如下图所示,内核从安装前的3.10.0变成最高5.6.14版本,这样就可以安装BBR加速。
3、输入“y”按回车键重启VPS,重启之后BBR才能生效。
4、重启之后,重新用终端登录远程VPS,最后输入以下命令:
uname -r
看到显示为:5.6.14-1.e17.elrepo.x86_64则说明内核升级成功。
BBR加速效果测试
BBR加速功能安装成功之后,想看效果的话,执行以下命令:
sudo dd if=/dev/zero of=500mb.zip bs=1024k count=500
BBR加速之后,油管1080HD访问基本顺畅,整体速度还是可以的:
众所周知,BBR是Google提出的一种新型拥塞控制算法,可使得Linux系统服务器显著地提高吞吐量和减少TCP连接的延迟,能够显著国外VPS访问和下载速度。
最后,如果大家嫌以上安装过程复杂的话,可以考虑选择搬瓦工云服务器VPS,系统模板自带BBR加速,非常方便。