Google BBR就是谷歌公司提出的一個開源TCP擁塞控制的算法。詳情可以看這兒:https://lwn.net/Articles/701165、https://blog.sometimesnaive.org/article/8
實施過程
基礎方法
最簡單的方法就是使用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 renosysctl net.ipv4.tcp_congestion_control
返回值一般為:
net.ipv4.tcp_congestion_control = bbrsysctl net.core.default_qdisc
返回值一般為:
net.core.default_qdisc = fqlsmod | 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
寫入配置文件
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存配置文件
sysctl -p
輸入以下命令以檢查是否成功
sysctl net.ipv4.tcp_available_congestion_control
若返回
net.ipv4.tcp_available_congestion_control = bbr cubic reno
則說明開啟成功。
后記
目前,常見的加速方式有Finalspeed(tcpspeed),Kcptun,銳速等單雙邊加速工具。Google BBR的優勢就在於,其能單邊地從TCP連接的擁塞控制算法着手解決網絡加速的問題,並且已經集中到內核中成為新一代的規范,沒有其他對於系統性能的開銷。並且,可以配合銳速,Finalspeed等使用以達到最佳的使用效果。關於Finalspeed的使用教程可參見《網絡環境的科學主義現代化改造》。