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

·

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 的方法,網路上有很多的教學,試用很多腳本後覺得「秋水逸冰」的腳本最穩定,所以我就轉貼秋水逸冰的教學:

本腳本適用環境

  • 系統支持: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 腳本

https://teddysun.com/489.html

hosted by kinsta

Comments

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

Hey, 想嘗試 Kinsta 主機嗎?

18748

Kinsta 高效能主機

wPowered Starter 方案

馬上訂購

18749
Your Mastodon Instance