Linux服務器網絡優化教程:BBR檢測、啟用與TCP優化(Ubuntu / Debian)

Linux服務器網絡優化教程:BBR檢測、啟用與TCP參數優化(Ubuntu / Debian)

想讓 Linux 服務器網絡更穩定、更快(尤其是跨地區訪問、延遲較高的網絡環境),最常見且有效的做法是啟用 BBR 擁塞控制算法,並配合少量 TCP 參數優化。本文以 Ubuntu / Debian 為例,提供一套可直接複製執行的命令與配置步驟。

適用系統:Ubuntu 20 / 22 / 24、Debian 10 / 11 / 12(以及其他現代 Linux 發行版)

你將學會:檢查是否支持 BBR → 若未顯示 BBR 如何加載模塊 → 啟用 BBR → 驗證是否生效 → 常用 TCP 優化參數(可選)。


目錄


1. 檢查內核版本(是否支持BBR)

BBR 需要 Linux 4.9 及以上內核。先查看當前內核版本:

uname -r

如果版本 ≥ 4.9,通常即可支持 BBR(現代 Ubuntu / Debian 基本都沒問題)。


2. 檢查可用擁塞控制算法

檢查系統當前“可用”的擁塞控制算法列表:

sysctl net.ipv4.tcp_available_congestion_control

如果輸出只有 reno cubic,說明 BBR 模塊未加載(並不一定是不支持)。

net.ipv4.tcp_available_congestion_control = reno cubic

如果輸出包含 bbr,則說明 BBR 已可用:

net.ipv4.tcp_available_congestion_control = reno cubic bbr

3. BBR沒出現?加載BBR模塊

如果你沒有看到 bbr,可以先手動加載 BBR 模塊:

sudo modprobe tcp_bbr

再次檢查可用算法:

sysctl net.ipv4.tcp_available_congestion_control

如果此時出現 bbr,說明模塊加載成功。

(可選)為了確保重啟後自動加載模塊,可寫入模塊加載配置:

echo "tcp_bbr" | sudo tee /etc/modules-load.d/bbr.conf

4. 查看當前使用的擁塞控制算法

即使系統支持 BBR,默認也可能仍在使用 CUBIC。查看當前算法:

sysctl net.ipv4.tcp_congestion_control

如果顯示 cubic,說明尚未啟用 BBR:

net.ipv4.tcp_congestion_control = cubic

5. 啟用BBR(持久化)

編輯系統參數配置文件(你也可以用 vi / vim):

sudo nano /etc/sysctl.conf

在文件末尾添加以下兩行(啟用 BBR + 推薦隊列算法 fq):

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

保存後應用配置:

sudo sysctl -p

6. 驗證BBR是否生效

確認當前擁塞控制算法是否已切換為 BBR:

sysctl net.ipv4.tcp_congestion_control

理想輸出:

net.ipv4.tcp_congestion_control = bbr

確認模塊是否加載:

lsmod | grep bbr

如果看到 tcp_bbr,說明正常。

進一步查看當前 TCP 連接信息(部分系統會顯示擁塞控制信息):

ss -tli

7. TCP網絡優化參數(可選)

以下 TCP 參數是常見的“穩健型”優化,適合 Web 服務 / API 服務 / 普通站點。你可以按需添加(不建議盲目堆太多參數)。

編輯配置文件:

sudo nano /etc/sysctl.conf

在末尾追加(如已添加 BBR 兩行,可保留一份即可):

# ===== 網絡優化:BBR + TCP =====
# 啟用BBR(現代內核上 bbr 即為新實現,適用於 Ubuntu 24 等)
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

# TCP Fast Open:降低握手延遲(客戶端/服務端均支持時更有效)
net.ipv4.tcp_fastopen=3

# MTU 探測:對部分跨網段/運營商鏈路更友好,減少黑洞MTU問題
net.ipv4.tcp_mtu_probing=1

# 提高並發連接處理能力(Web服務常用)
net.core.somaxconn=65535
net.ipv4.tcp_max_syn_backlog=8192
net.core.netdev_max_backlog=16384

# TIME_WAIT 復用(常見Web場景更省資源)
net.ipv4.tcp_tw_reuse=1

# 保持連接探測(避免“死連接”長期佔用)
net.ipv4.tcp_keepalive_time=600

應用配置:

sudo sysctl -p

FAQ:常見問題排查

Q1:執行後仍然顯示 cubic,怎麼辦?

先重新加載 sysctl 配置:

sudo sysctl -p

再檢查:

sysctl net.ipv4.tcp_congestion_control

如果仍無變化,重啟一次通常可解決:

sudo reboot

Q2:為什麼可用算法里沒有 bbr?

常見原因是模塊未加載或內核過舊。先嘗試加載模塊:

sudo modprobe tcp_bbr

再檢查:

sysctl net.ipv4.tcp_available_congestion_control

Q3:BBR和BBR v2怎麼區分?

對大多數用戶來說不必糾結命名:現代 Linux 內核中啟用 bbr 就是推薦做法。你只需要確保 “當前算法= bbr” 即可。


結語

完成上述配置後,服務器在高延遲或跨地區訪問場景下通常會更穩定、吞吐更高。如果你同時部署了 Web 服務(Nginx/Apache)或站點程序,建議再配合緩存、Keep-Alive、壓縮等優化,效果會更明顯。

本文關鍵詞(SEO建議)

Ubuntu 開啟 BBR、Debian 啟用 BBR、Linux BBR v2、TCP 擁塞控制算法、sysctl 網絡優化、TCP Fast Open、服務器網絡加速、Linux 網絡穩定優化。

發布者:彬彬筆記,轉載請註明出處:https://www.binbinbiji.com/zh-hant/linux/3794.html

(0)
彬彬筆記彬彬筆記
上一篇 2026年1月22日 20:07
下一篇 2020年3月19日 18:47

相關推薦

發表回復

登錄後才能評論
蜀ICP備14017386號-13