BBR 是 Google 推出的一個「TCP 擁塞控制演算法」,它是以 Linux 內核模組的形式載入,可以最大化 Linux Server 的網路輸送量。
使用以下指令可以檢查當前Linux 內核可以使用的 TCP 擁堵控制演算法
sysctl net.ipv4.tcp_available_congestion_control
net.ipv4.tcp_available_congestion_control = cubic reno
sysctl net.ipv4.tcp_congestion_control
net.ipv4.tcp_congestion_control = cubic
預設的Ubuntu 16.04 用的是 Linux 4.4.0 內核 所以不支持BBR
Ubuntu 16.04 安裝4.10新內核
sudo apt-get install linux-generic-hwe-16.04
如果想體驗更新版的4.11可以裝edge版
sudo apt-get install linux-generic-hwe-16.04-edge
安裝完後重啟系統 輸入
uname -a
Linux Joker 4.15.0-38-generic #41~16.04.1-Ubuntu SMP Wed Oct 10 20:16:04 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
確定是新內核後就可以啟用BBR
sudo modprobe tcp_bbr echo "tcp_bbr" | sudo tee -a /etc/modules-load.d/modules.conf
再執行 sysctl net.ipv4.tcp_available_congestion_control 命令,你就可以看到 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
執行完這幾條指令後,再用 sysctl net.ipv4.tcp_congestion_control 驗證一下,看到返回結果是:
net.ipv4.tcp_available_congestion_control = reno cubic bbr