這是 google 2016 年 9 月份才開源的一個優化網絡擁堵的算法。 google 出品,值得信賴
目前最新版本的 Linux 內核(4.9-rc8)中已經集成了該算法。
開源地址
https://github.com/google/bbr
注意這不是 Google 官方的產品。
安裝方式
Debian8/Ubuntu14
下載最新內核, 最新內核查看這裡
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.9-rc8/linux-image-4.9.0-040900rc8-generic_4.9.0-040900rc8.201612051443_amd64.deb
安裝內核
dpkg -i linux-image-4.9.0*.deb
刪除其餘內核
dpkg -l|grep linux-image
更新 grub 系統引導文件並重啟
update-grub
開啟 bbr
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
保存生效
sysctl -p
執行
sysctl net.ipv4.tcp_available_congestion_control
如果結果中有 bbr, 則證明你的內核已開啟 bbr
執行
lsmod | grep bbr
, 看到有tcp_bbr
模塊即說明 bbr 已啟動。
CentOS 7
評論有人已經成功。
wget http://mirrors.kernel.org/debian/pool/main/l/linux/linux-image-4.9.0-rc8-amd64-unsigned_4.9~rc8-1~exp1_amd64.deb
然後修改系統啟動引導文件:
vi /etc/grub.conf
需要修改 Grub 引導順序,讓新安裝的內核作為默認內核。
或者執行:
grub2-set-default "CentOS Linux (4.9.0-rc8-amd64) 7 (Core)"
然後重啟
reboot
重啟後,查看內核是否安裝成功。
uname -r
開啟 bbr, 據人反饋:先把
/etc/sysctl.conf
文件中 關於net.ipv4.tcp_congestion_control
的配置註釋掉。
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
保存生效
sysctl -p
執行
sysctl net.ipv4.tcp_available_congestion_control
如果結果中有 bbr, 則證明你的內核已開啟 bbr
執行
lsmod | grep bbr
, 看到有tcp_bbr
模塊即說明 bbr 已啟動。
CentOS6
RMP 安裝 (推薦)
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
CAC CentOS6 系統可直接執行以下代碼
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
安裝完成,修改啟動引導。(自己百度 vi 命令用法)
vi /etc/grub.conf
修改成 default=0
保存然後重啟
reboot
重啟後,查看內核是否安裝成功。
uname -r
開啟 bbr, 據人反饋:先把
/etc/sysctl.conf
文件中 關於net.ipv4.tcp_congestion_control
的配置註釋掉。
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
保存生效
sysctl -p
執行
sysctl net.ipv4.tcp_available_congestion_control
如果結果中有 bbr, 則證明你的內核已開啟 bbr
執行
lsmod | grep bbr
, 看到有tcp_bbr
模塊即說明 bbr 已啟動。
編譯安裝(不推薦)
速度較慢。
yum install vim wget gcc gcc-c++ xz bc ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel openssl-devel -ycd /usr/local/src/
修改 Grub 引導順序,讓新安裝的內核作為默認內核。
default = 0
vi /boot/grub/menu.lst #修改啟動項
保存然後重啟
reboot
重啟後,查看內核是否安裝成功。
uname -r
開啟 bbr, 據人反饋:先把
/etc/sysctl.conf
文件中 關於net.ipv4.tcp_congestion_control
的配置註釋掉。
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
保存生效
sysctl -p
執行
sysctl net.ipv4.tcp_available_congestion_control
如果結果中有 bbr, 則證明你的內核已開啟 bbr
執行
lsmod | grep bbr
, 看到有tcp_bbr
模塊即說明 bbr 已啟動。
測試效果
參見各大論壇討論,基本看下來與銳速差別不大
對建站而言,則影響很大,比如 ovh 大幅度改善。