CentOS 7 開啟 BBR 加速
阿新 • • 發佈:2022-05-02
Google 在 2016年9月份開源了他們的優化網路擁堵演算法BBR
,最新版本的 Linux核心(4.9-rc8)中已經集成了該演算法。
對於TCP單邊加速,並非所有人都很熟悉,不過有另外一個大名鼎鼎的商業軟體“銳速”,相信很多人都清楚。特別是對於使用國外伺服器或者VPS的人來說,效果更佳。
網上有很多在 Debian 和 Ubuntu 系統下啟用 BBR 的教程,我就不貼上了,我自己一直用的是 CentOS,本文介紹一下在 64位 CentOS 7 系統下開啟BBR的方法。
升級核心
第一步首先是升級核心到支援BBR的版本:
#匯入公鑰 rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
- CentOS 7
#安裝elrepo源
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
- CentOS 6
#安裝elrepo源
rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
#安裝4.9.0以上的核心
yum --enablerepo=elrepo-kernel install kernel-ml -y
# 確認是否成功安裝新版核心
rpm -qa | grep kernel
如果安裝成功,你應該會看到 kernel-ml-4.*.*-*.el7.elrepo.x86_64
kernel-tools-3.10.0-514.el7.x86_64
kernel-ml-4.12.4-1.el7.elrepo.x86_64
kernel-tools-libs-3.10.0-514.el7.x86_64
kernel-3.10.0-514.el7.x86_64
調整GRUB啟動順序
在安裝好新版本核心以後,要先用新安裝的核心引導系統看看能否正常啟動,下面是直接調整 GRUB2 啟動順序的命令:
# 檢視可用的啟動項
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d '
執行完這條命令以後,能看到多個可以引導的系統,比如我的是:
CentOS Linux (4.12.4-1.el7.elrepo.x86_64) 7 (Core)
CentOS Linux (3.10.0-514.el7.x86_64) 7 (Core)
CentOS Linux (0-rescue-d4d0adfea8e944e5b8019ed1aa3c9e16) 7 (Core)
不管有多少個,從上往下,記住要引導的項的序號(從0開始計數)即可,比如上面的例子,我要使用第一項 CentOS Linux (4.12.4-1.el7.elrepo.x86_64) 7 (Core)
來引導,序號是 0
。
# 設定預設引導項
grub2-set-default 0
# 重啟系統
reboot
修改sysctl 開啟 BBR
重啟系統之後,通過 uname -r
或者其它命令可以看到我們的核心已經是新版核心了,接下來開啟 BBR
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 載入 /etc/sysctl.conf 檔案中的引數並顯示,主要看看有沒有報錯的設定(顯示的結果與你的配置檔案內容有關)
sysctl -p
# 驗證 bbr 是否開啟,如果成功,應該會看到 net.ipv4.tcp_congestion_control = bbr
sysctl net.ipv4.tcp_available_congestion_control
# 依然是驗證,如果成功,應該會看到類似 tcp_bbr 16384 3 這樣的文字
lsmod | grep bbr
以上每一步最好都根據註釋中的說明仔細檢查一下是否順利,然後再進行下一步,如果都成功的話,到這裡已經成功開啟BBR演算法。可以在你的伺服器上放一個大檔案,然後用瀏覽器下載一下看看速度是否有提升。
我的洛杉磯VPS加速以後,用Chrome下載的速度從500K/s左右提升到了3.3M/s左右。