在使用Google BBR以前,咱們首先要了解它是什麼。瞭解計算機網絡的人都知道,在TCP鏈接中,因爲須要維持鏈接的可靠性,引入了擁塞控制和流量管理的方法。Google BBR就是谷歌公司提出的一個開源TCP擁塞控制的算法。在最新的linux 4.9及以上的內核版本中已被採用。對於該算法的分析,ss不通過其它的任何的優化就能輕鬆的跑滿帶寬。(speedtest測試或fast測試)。因爲Google BBR很是新,任何低於4.9的linux內核版本都須要升級到4.9及以上才能使用,故若VPS自己內核版本較低的話,只有KVM架構的VPS才能使用本教程升級內核並使用,openvz的VPS用戶若內核版本較低則沒法使用!linux
最簡單的方法就是使用Google BBR一鍵安裝腳本。git
使用root用戶登陸,運行如下命令:github
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 了ubuntu
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 = fqtcp
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
升級完後請當即重啓VPSreboot
啓用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
則說明開啓成功。