開啟 TCP BBR 擁塞控制算法為 VPS 網路加速

BBR VPS Network

BBR 是 Google 發布了一個新的 tcp 擁塞控制算法,原文叫做 Bottleneck Bandwidth and RTT 簡稱 BBR,它必須在 Linux kernel 4.9 版本以上才能運行。

TCP BBR 擁塞控制的目地,是最大化利用網路寬頻,我們想像一條網路線就像一條水管,要想充分使用這條水管,最好的方法就是讓這根水管灌滿水。

BBR 理論上解決兩個問題:

  • 在有一定丟包率的網路上充分利用頻寬。
  • 降低網路上的 buffer 佔用率,而達到降低延遲的目的。

更詳細的 BBR 原理請自行 google 了

實際用 KVM VPS 測試結果,可以參考下面的 2 張圖:

未開啟 TCP BBR 的 VPS
未開啟 TCP BBR 的 VPS

已開啟 TCP BBR 的 VPS
已開啟 TCP BBR 的 VPS

可以看出開啟 TCP BBR 的 VPS 網路是比較穩定的。

開啟 TCP BBR 的方法,網路上有很多的教學,試用很多腳本後覺得「秋水逸冰」的腳本最穩定,所以我就轉貼秋水逸冰的教學:

Advertisement

本腳本適用環境

  • 系統支持:CentOS 6+,Debian 7+,Ubuntu 12+
  • 虛擬技術:OpenVZ 以外的,比如 KVM、Xen、VMware 等
  • 內存要求:≥128M
  • 最後更新日期:2017 年 05 月 15 日

使用方法

使用 root 用户登入,運行以下命令:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh
chmod +x bbr.sh
./bbr.sh

安裝完成後,腳本會提示需要重啟 VPS,輸入「y」並按 Enter 後重啟 VPS。

重啟完成後,進入 VPS,驗證一下是否成功安裝最新 Linux 內核並開啟 TCP BBR,輸入以下命令:

uname -r

返回值一般為:

4.12.9-041209-generic

查看內核版本,含有 4.12 就表示 OK 了

或者運行以下的指令,查看是否成功開啟 TCP BBR:

sysctl net.ipv4.tcp_available_congestion_control
返回值:net.ipv4.tcp_available_congestion_control = bbr cubic reno

sysctl net.ipv4.tcp_congestion_control
返回值:net.ipv4.tcp_congestion_control = bbr

sysctl net.core.default_qdisc
返回值:net.core.default_qdisc = fq

特別說明

VPS 如果是 OpenVZ 虛擬技術,就不要試了,是無法開啟 BBR 的功能

如果是 Google Cloud Platform 更換內核,重啟後整個硬碟變為唯讀的情況,請執行以下命令即可恢復:

mount -o remount rw /

參考文件:

一鍵安裝最新內核並開啟 BBR 腳本

最近,Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。 根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提...

Featured Photo 攝影師:freestocks.org,連結:Pexels

Follow me

yungke

視咖啡如命的癮君子,沒有厲害的技術,只會小打小鬧的電腦工程師,其實是個打雜小弟,修電燈、水管也都是我的工作。
yungke
Follow me
Advertisement

Follow Me

查看本文
喜愛 Like 點擊數!!
Back to top