為VPS開啟BBR擁塞控制演算法
BBR是來自於Google的黑科技,目的是要盡量跑滿帶寬, 並且盡量不要有排隊的情況, 充分利用帶寬並降低延遲,起到神奇般的加速效果。 在BBR之前,比較有名的就是國產的銳速了,不過,由於銳速是個國產的閉源軟體,所以一直糾結不想裝在VPS上。正好,BBR的出現,又成為一個可供折騰的對象。
BBR 這個特性其實是在 Linux 內核 4.9 才計劃加入的。所以,要開啟BBR,需要內核版本在Linux kernel 4.9以上。下面紀錄一下如何升級Linux內核,並且開啟BBR:
Debian 8 / Ubuntu 14 / Ubuntu 16
友情提示:如果安裝最新的Ubuntu 17版本,有可能內核已經為4.10了,可以不用再升級內核了
- 下載最新內核,最新內核查看這裡
wget -c http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.11.4/linux-image-4.11.4-041104-generic_4.11.4-041104.201706071003_amd64.debn
- 安裝內核
dpkg -i linux-image-4.*.debn
- 清理不用的舊內核(可選)
apt-get autoremoven
- 更新 grub 系統引導文件並重啟
update-grubnrebootn
CentOS 7
- 下載更換內核最新內核查看這裡
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.orgnrpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpmnyum --enablerepo=elrepo-kernel install kernel-ml -yn
- 查看內核是否安裝成功
rpm -qa | grep kerneln
- 刪除舊內核(可選)
rpm -ev 舊內核n
- 更新 grub 系統引導文件並重啟
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d ngrub2-set-default 0 #default 0表示第一個內核設置為默認運行, 選擇最新內核就對了nrebootn
注意,某些服務商(如Digital Ocean)可能需要首先將VPS配置為可自定義內核,然後grub2的配置才會生效。
開啟BBR
開機後 uname -r 看看是不是內核4.9、4.10或4.11
執行 lsmod | grep bbr,如果結果中沒有 tcp_bbr 的話就先執行
modprobe tcp_bbrnecho "tcp_bbr" >> /etc/modules-load.d/modules.confn
再執行
echo "net.core.default_qdisc=fq" >> /etc/sysctl.confnecho "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.confn
保存生效
sysctl -pn
最後執行
sysctl net.ipv4.tcp_available_congestion_controlnsysctl net.ipv4.tcp_congestion_controln
如果結果都有bbr, 則證明你的內核已開啟bbr。看到有 tcp_bbr 模塊即說明bbr已啟動,這樣,就可以開始體驗Google的黑科技加速了……
搬瓦工VPS開啟BBR的新姿勢
搬瓦工的VPS預裝系統裡面,有的模板已經自帶了BBR了,也就是說,你也不需要額外的配置了,選擇這種帶BBR的預裝系統,就能直接啟用BBR加速了:
最後,用Google Cloud台灣和搬瓦工CN2的主機試了一下,上油管,1080P不卡,1440P也不卡,速度快到飛起!很棒!
推薦閱讀: