在追求高效能網路服務的應用場景中,例如部署於香港 VPS或 香港雲端伺服器 上的服務,啟用 Google 開發的 BBR (Bottleneck Bandwidth and Round-trip propagation time) TCP 擁塞控制演算法,能顯著提升網路吞吐量並降低傳輸延遲。本指南提供完整的 BBR 啟用流程。
必要條件與核心版本確認
BBR 演算法要求 Linux 核心版本需 ≥ 4.9。請執行以下指令確認當前核心版本:
uname -r
若版本低於 4.9,則需進行核心升級。
步驟 1:升級 Linux 核心 (若需要)
Debian / Ubuntu 系統:
sudo apt update sudo apt install --install-recommends linux-generic-hwe-22.04 # 範例適用於 Ubuntu 22.04 LTS,請依實際版本調整
CentOS / RHEL 系統:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org sudo rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-5.el7.elrepo.noarch.rpm # 依發行版選用正確的 elrepo-release 套件 sudo yum --enablerepo=elrepo-kernel install kernel-ml -y
步驟 2:啟用 BBR 演算法
修改系統參數設定檔:
使用文字編輯器(如nano)開啟/etc/sysctl.conf:sudo nano /etc/sysctl.conf
在檔案末尾新增以下兩行參數設定:
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
儲存並關閉檔案。
載入並套用新設定:
執行以下指令使修改立即生效:sudo sysctl -p
步驟 3:驗證 BBR 啟用狀態
執行以下指令確認 BBR 已成功設定為預設擁塞控制演算法,且核心模組已載入:
# 檢查當前使用的 TCP 擁塞控制演算法 sysctl net.ipv4.tcp_congestion_control # 檢查 bbr 核心模組是否已載入 lsmod | grep bbr
預期輸出 net.ipv4.tcp_congestion_control = bbr 且 lsmod 指令應列出 tcp_bbr 模組。
步驟 4:進階網路參數調優 (可選)
為進一步提升網路效能,可考慮在 /etc/sysctl.conf 中追加以下參數:
net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_rmem = 4096 87380 67108864 net.ipv4.tcp_wmem = 4096 65536 67108864
修改後同樣需執行 sudo sysctl -p 套用設定。
重要注意事項
系統重啟建議: 若進行了核心升級,強烈建議在升級完成後重新啟動系統 (
sudo reboot),以確保新核心及 BBR 模組正確載入。虛擬化架構限制: BBR 需要核心層級的 TCP 堆疊控制權。因此,在 OpenVZ 這類共用核心 (Container-based) 的虛擬化架構下無法正常運作。在選購香港 VPS或 香港雲端伺服器 時,若需使用 BBR,請確認供應商提供的是 KVM、Xen 或 VMware 等完整虛擬化 (Hardware Virtualization) 環境。
效能測試工具: 啟用 BBR 後,可使用
speedtest-cli或iperf3等工具進行網路速度測試,以驗證效能提升效果。
常見問題排除 (Q&A)
| 問題現象 | 解決方案 | |
|---|---|---|
執行 sudo sysctl -p 報錯 | 檢查設定檔路徑是否正確,可明確指定路徑:sudo sysctl -p /etc/sysctl.conf | |
| BBR 未生效 | 1. 再次確認核心版本 ≥ 4.9 (uname -r)。2. 執行 `lsmod | grep bbr確認tcp_bbr` 模組已載入。 |