[轉]非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 了,可是也有說用了比不用還慢的,各位仍是本身多多測試吧。

相關文章
相關標籤/搜索