搬瓦工VPS性能優化:原生BBR開啟指南
更多語言
更多操作
搬瓦工 VPS 性能飛躍:原生 BBR 擁塞控制開啟與 TCP 協議棧優化指南
很多用戶在購買了搬瓦工(BandwagonHost)的高速線路(如 CN2 GIA 或 CMIN2)後,在晚高峰期間偶爾仍會感覺網絡吞吐量波動。這通常不是線路問題,而是 Linux 默認的 TCP 擁塞控制算法(Cubic 或 Reno)在高丟包或高延遲環境下表現保守導致的。
本文將指導你如何在不使用任何第三方「一鍵腳本」的情況下,安全地通過 Linux 原生命令開啟 BBR (Bottleneck Bandwidth and Round-trip propagation time),並進行 TCP 協議棧的微調,以榨乾伺服器的每一滴網絡性能。
警告:雖然本文操作均為系統原生命令,但在修改內核參數前,建議在 KiwiVM 後台對 VPS 進行快照備份(Snapshot),以防萬一。
什麼是 BBR?為什麼它能加速?
傳統的 TCP 擁塞控制算法(如 Cubic)是基於「丟包」來判斷網絡擁堵的。一旦發現丟包,它就會劇烈降低發送速度。而在跨國網絡環境中,丟包是常態,這導致帶寬往往跑不滿。
Google 開發的 BBR 算法則是基於「帶寬」和「延遲」來建模。它不把丟包當作擁塞信號,而是儘可能探測物理鏈路的最大帶寬。簡單來說:BBR 就像給你的數據包裝上了智能導航,能在擁堵的網絡公路上更激進地搶占車道。
第一步:檢查 Linux 內核版本
BBR 需要 Linux Kernel 4.9 以上版本支持。搬瓦工目前的系統鏡像(CentOS 7/8, Ubuntu 20.04/22.04, Debian 10/11)默認內核均已支持,通常無需更換內核。
在終端輸入以下命令查看內核版本:
uname -r
- 如果輸出類似
4.18.0-xxx、5.4.0-xxx或更高,說明內核符合要求。 - 如果輸出是
3.10.x(主要是老舊的 CentOS 7),建議先重裝系統至 Debian 11 或 Ubuntu 22.04(推薦)。
第二步:開啟 BBR (無需安裝任何腳本)
我們拒絕使用來路不明的「暴力魔改 BBR 腳本」,因為它們可能會破壞系統庫文件或植入後門。Linux 原生開啟 BBR 只需要修改 /etc/sysctl.conf。
1. 開啟 IP 轉發和 BBR
複製以下完整命令塊並在終端執行:
# 开启 IP 转发
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf
# 设置队列算法为 fq (Fair Queuing)
echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.conf
# 设置拥塞控制算法为 bbr
echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf
2. 使配置生效
執行以下命令讓剛才的修改立即生效:
sudo sysctl -p
3. 驗證是否開啟成功
執行以下命令檢查:
lsmod | grep bbr
如果輸出中包含 tcp_bbr(如下圖所示),說明 BBR 模塊已成功加載並運行。
tcp_bbr 20480 14
第三步:進階 TCP 協議棧優化 (可選)
開啟 BBR 已經能解決 90% 的問題。如果你想進一步優化高並發場景下的表現(例如建站),可以添加以下參數。
編輯配置文件:
nano /etc/sysctl.conf
在文件末尾添加以下優化參數(請仔細閱讀注釋):
# 增加 TCP 缓冲区大小,提升大文件传输速度
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216
# 开启 TCP 窗口缩放 (Window Scaling),现代网络必备
net.ipv4.tcp_window_scaling = 1
# 开启 SYN Cookies,防止 SYN Flood 攻击
net.ipv4.tcp_syncookies = 1
# 缩短 TCP 连接的保活时间 (Keepalive),默认 7200 秒太长了
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5
# 允许更多的半连接,应对突发流量
net.ipv4.tcp_max_syn_backlog = 8192
保存並退出 (Ctrl+O, Enter, Ctrl+X),然後再次執行 sysctl -p 使其生效。
常見問題 (FAQ)
- Q
- 網上說的「BBR Plus」、「BBR 魔改版」比原版更好嗎?
- A: 不推薦在生產環境使用。 魔改版通常是不僅修改了算法參數(極度激進,可能導致斷流),還替換了非官方編譯的內核。對於搬瓦工這種本身質量就很高的線路(CN2 GIA),原生 BBR 的穩定性與速度平衡是最好的。
- Q
- 我是 OpenVZ 架構的 VPS,能用嗎?
- A: 不能。本文教程僅適用於 KVM 架構(搬瓦工目前在售的所有 VPS 均為 KVM)。OpenVZ 用戶受限於宿主機內核,無法自行開啟 BBR。
- Q
- 開啟後速度反而變慢了?
- A: 極少數情況下,特定地區的 ISP可能會對長時間高發包的 UDP/TCP 連接進行 QOS 限制。如果發現變慢,只需將
sysctl.conf中的bbr改回cubic並執行sysctl -p即可復原。
Created by AlexLynn for md5.pw Community.