[转]非OpenVZ下利用谷歌TCP-BBR协议单边加速你的VPS

前段时间谷歌推出了新的 TCP-BBR 开源算法,能够起到单边加速 TCP 链接的效果,也就是不用客户端的配合,用来替代收费的锐速再合适不过,毕竟开源免费。TCP-BBR 的目的是要尽可能跑满带宽,而且尽可能不要有排队的状况,效果不比速锐差。 Ubuntu 部署起来很方便,CentOS 稍麻烦,不过相信过不了多久就会有 CentOS 的一键包了。Ubuntu14 下已经测试成功!注意BBR和锐速同样不能用在 OpenVZ 的机器上,因此***等是用不了的linux

TCP-BBR项目github主页:https://github.com/google/bbr
TCP-BBR项目开发论坛(英文):https://groups.google.com/forum/#!forum/bbr-dev
TCP-BBR快速使用手册(英文):https://github.com/google/bbr/blob/master/Documentation/bbr-quick-start.mdgit

TCP-BBR目前已经在 YouTube 服务器和 Google 跨数据中心的内部广域网(B4)上部署,因而可知出该TCP加速算法前途一片光明啊!TCP-BBR的目标就是最大化利用网络上瓶颈链路的带宽。打个比方,一条网络链路就像一条水管,要想最大化利用这条水管,最好的方法就是给这跟水管灌满水。github

服务端部署

Debian 8 / Ubuntu 14(Ubuntu部署最方便)

1. 下载4.9最新内核算法

wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9/linux-image-4.9.0-040900-generic_4.9.0-040900.201612111631_amd64.deb

2. 安装内核ubuntu

dpkg -i linux-image-4.9.0*.deb

3. 删除旧内核centos

  dpkg -l|grep linux-image apt-get purge 旧内核ID(此处为旧内核ID,不懂能够看下图)

开启TCP-BBR拥塞控制算法,与锐速相媲美的单边加速器

好比上图圈起来的部分就是须要卸载的旧内核,那么命令用该是这样的:服务器

apt-get purge linux-image-4.4.0-53-generic linux-image-extra-4.4.0-53-generic 

4. 更新 grub 系统引导文件并重启网络


update-grub reboot

CentOS 6

1. 更换内核tcp


 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgrpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpmyum --enablerepo=elrepo-kernel install kernel-ml -y

2. 查看内核是否安装成功测试

rpm -qa | grep kernel

3. 更新 grub 系统引导文件并重启


sed -i 's:default=.*:default=0:g' /etc/grub.confreboot

Tips:开不了机的打开vps后台控制面板的vnc, 开机卡在 grub 引导, 只须要手动选择内核就能够了。

CentOS 7

1. 更换内核

   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. 查看内核是否安装成功

 rpm -qa | grep kernel

正常会以下所示:


     [root@centos-512mb-sfo1-01 ~]# rpm -qa | grep kernel kernel-firmware-2.6.32-642.11.1.el6.noarch kernel-headers-2.6.32-642.11.1.el6.x86_64 dracut-kernel-004-409.el6_8.2.noarch kernel-2.6.32-642.11.1.el6.x86_64 kernel-devel-2.6.32-642.11.1.el6.x86_64 kernel-ml-4.9.0-1.el6.elrepo.x86_64 #这就是咱们安装的新内核

3. 更新 grub 系统引导文件并重启

   egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' grub2-set-default 0 #default 0表示第一个内核设置为默认运行, 选择最新内核就对了 reboot

开启TCP-BBR

一、先查看下内核是否更换为4.9

uname -r

二、生效BBR


 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

正常状况会以下显示:


[root@centos-512mb-sfo1-01 ~]# sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = bbr cubic reno

接着


sysctl -n net.ipv4.tcp_congestion_controllsmod | grep bbr

正常状况是这样的:


  [root@centos-512mb-sfo1-01 ~]# sysctl -n net.ipv4.tcp_congestion_control bbr [root@centos-512mb-sfo1-01 ~]# lsmod | grep bbr tcp_bbr 20480 55

这样咱们就已经为咱们的VPS部署好了谷歌Google的 TCP-BBR 协议,感觉一下飞的感受吧!之前,用vormach 8刀的凤凰城测试,加了锐速后速度大概在 4 到8M,如今接近 20M 了,可是也有说用了比不用还慢的,各位仍是本身多多测试吧。

相关文章
相关标签/搜索