預備知識
在使用Google BBR之前,我們首先要了解它是什么。了解計算機網絡的人都知道,在TCP連接中,由於需要維持連接的可靠性,引入了擁塞控制和流量管理的方法。Google BBR就是谷歌公司提出的一個開源TCP擁塞控制的算法。在最新的linux 4.9及以上的內核版本中已被采用。對於該算法的分析,ss不經過其它的任何的優化就能輕松的跑滿帶寬。(speedtest測試或fast測試)。由於Google BBR非常新,任何低於4.9的linux內核版本都需要升級到4.9及以上才能使用,故若VPS本身內核版本較低的話,只有KVM架構的VPS才能使用本教程升級內核並使用,openvz的VPS用戶若內核版本較低則無法使用!
基礎方法
最簡單的方法就是使用Google BBR一鍵安裝腳本。
-
使用root用戶登錄,運行以下命令:
-
wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh chmod +x bbr.sh ./bbr.sh
安裝完成后,腳本會提示需要重啟 VPS,輸入 y 並回車后重啟。
重啟完成后,進入 VPS,驗證一下是否成功安裝最新內核並開啟 TCP BBR,輸入以下命令: -
uname -r
查看內核版本,含有 4.9 就表示 OK 了
-
sysctl net.ipv4.tcp_available_congestion_control
返回值一般為:net.ipv4.tcp_available_congestion_control = bbr cubic reno
-
sysctl net.ipv4.tcp_congestion_control
返回值一般為:
net.ipv4.tcp_congestion_control = bbr -
sysctl net.core.default_qdisc
返回值一般為:
net.core.default_qdisc = fq -
lsmod | grep bbr
返回值有 tcp_bbr 模塊即說明bbr已啟動。
進階方法 推薦!
由於一鍵包會進行很多很多判斷和處理,而其中有很多步驟可以用更高的效率手工實現。
-
升級內核
對於Centos用戶, 請執行如下命令:
-
yum --enablerepo=elrepo-kernel -y install kernel-ml kernel-ml-devel
對於Centos 6,執行:
-
sed -i 's/^default=.*/default=0/g' /boot/grub/grub.conf
對於Centos 7,執行:
-
grub2-set-default 0
而對於Debian / Ubuntu系統,可以在Ubuntu Kernel上下載最新版的內核deb安裝包。
對於64位系統,下載amd64的linux-image中含有generic的deb包,
對於32位系統,下載i386的linux-image中含有generic的deb包。
安裝命令:
-
dpkg -i xxxxxxxxxx.deb
安裝完后執行:
-
/usr/sbin/update-grub
升級完后請立即重啟VPS
reboot
-
啟用Google BBR
寫入配置文件
-
1 echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf 2 echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存配置文件
1 sysctl -p
輸入以下命令以檢查是否成功
1 sysctl net.ipv4.tcp_available_congestion_control
若返回
-
1 net.ipv4.tcp_available_congestion_control = bbr cubic reno
則說明開啟成功。