1. 程式人生 > >為VPS開啟BBR擁塞控制算法

為VPS開啟BBR擁塞控制算法

ubuntu core ubunt 科技 裝系統 pos arc reboot 般的

BBR是來自於Google的黑科技,目的是通過優化和控制TCP的擁塞,充分利用帶寬並降低延遲,起到神奇般的加速效果。 在BBR之前,比較有名的就是國產的銳速了,不過,由於銳速是個國產的閉源軟件,所以一直糾結不想裝在VPS上。正好,BBR的出現,又成為一個可供折騰的對象。

BBR 這個特性其實是在 Linux 內核 4.9 才計劃加入的。所以,要開啟BBR,需要內核版本在Linux kernel 4.9以上。下面紀錄一下如何升級Linux內核,並且開啟BBR:

Debian 8 / Ubuntu 14 / Ubuntu 16

友情提示:如果安裝最新的Ubuntu 17版本,有可能內核已經為4.10了,可以不用再升級內核了

下載最新內核,最新內核查看這裏

1
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.deb
  • 安裝內核
1
dpkg -i linux-image-4.*.deb
  • 清理不用的舊內核(可選)
1
apt-get autoremove
  • 更新 grub 系統引導文件並重啟
1
2
update-grub
reboot

CentOS 7

  • 下載更換內核
    最新內核查看這裏
1
2
3
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
yum --enablerepo=elrepo-kernel install kernel-ml -y
  • 查看內核是否安裝成功
1
rpm -qa | grep kernel
  • 刪除舊內核(可選)
1
rpm -ev 舊內核
  • 更新 grub 系統引導文件並重啟
1
2
3
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \
grub2-set-default 0 #default 0表示第一個內核設置為默認運行, 選擇最新內核就對了
reboot
  • 註意,某些服務商(如Digital Ocean)可能需要首先將VPS配置為可自定義內核,然後grub2的配置才會生效。

開啟BBR

開機後 uname -r 看看是不是內核4.9、4.10或4.11

執行 lsmod | grep bbr,如果結果中沒有 tcp_bbr 的話就先執行

1
2
modprobe tcp_bbr
echo "tcp_bbr" >> /etc/modules-load.d/modules.conf

執行

1
2
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

保存生效
sysctl -p

執行

1
2
sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

如果結果都有bbr, 則證明你的內核已開啟bbr。看到有 tcp_bbr 模塊即說明bbr已啟動,這樣,就可以開始體驗Google的黑科技加速了……

搬瓦工VPS開啟BBR的新姿勢

搬瓦工的VPS預裝系統裏面,有的模板已經自帶了BBR了,也就是說,你也不需要額外的配置了,選擇這種帶BBR的預裝系統,就能直接啟用BBR加速了:

技術分享圖片

最後,用Google Cloud臺灣和搬瓦工CN2的主機試了一下,上油管,1080P不卡,1440P也不卡,速度快到飛起!很棒!

為VPS開啟BBR擁塞控制算法