最近,Google 開源了其 TCP BBR 擁塞控制算法,并提交到了 Linux 內核,從 4.9 開始,Linux 內核已經用上了該算法。根據以往的傳統,Google 總是先在自家的生產環境上線運用后,才會將代碼開源,此次也不例外。
根據實地測試,在部署了最新版內核并開啟了 TCP BBR 的機器上,網速甚至可以提升好幾個數量級。
于是我根據目前三大發行版的最新內核,開發了一鍵安裝最新內核并開啟 TCP BBR 腳本。
本腳本適用環境
系統支持:CentOS 6+,Debian 8+,Ubuntu 16+
虛擬技術:OpenVZ 以外的,比如 KVM、Xen、VMware
內存要求:≥128M
關于本腳本
1、本腳本已在 Vultr 上的 VPS 全部測試通過。
2、當腳本檢測到 VPS 的虛擬方式為 OpenVZ 時,會提示錯誤,并自動退出安裝。
3、腳本運行完重啟發現開不了機的,打開 VPS 后臺控制面板的 VNC, 開機卡在 grub 引導, 手動選擇內核即可。
4、由于是使用最新版系統內核,最好請勿在生產環境安裝,以免產生不可預測之后果。
使用方法
使用root用戶登錄,運行以下命令:
wget --no-check-certificate -O /opt/bbr.sh https://github.com/teddysun/across/raw/master/bbr.sh
chmod 755 /opt/bbr.sh
/opt/bbr.sh
安裝完成后,腳本會提示需要重啟 VPS,輸入 y 并回車后重啟。
重啟完成后,進入 VPS,驗證一下是否成功安裝最新內核并開啟 TCP BBR,輸入以下檢查:
uname -r
查看內核版本,顯示為新版內核就表示 OK 了。
sysctl net.ipv4.tcp_available_congestion_control
返回值一般為:
net.ipv4.tcp_available_congestion_control = bbr cubic reno
sysctl net.core.default_qdisc
返回值一般為:
net.core.default_qdisc = fq
lsmod | grep bbr
返回值有 tcp_bbr 模塊即說明 bbr 已啟動。比如:
tcp_bbr 20480 3
注意:并不是所有的 VPS 都會有此返回值,若沒有也屬正常。
特別說明
如果你使用的是 Google Cloud Platform (GCP)更換內核,有時會遇到重啟后,整個磁盤變為只讀的情況。只需執行以下命令即可恢復:
mount -o remount rw /
暫無評論內容