BBR 的描述:
Google 開源了其 TCP BBR 擁塞控制算法,並提交到了 Linux 內核,從 4.9 開始,Linux 內核已經用上了該算法。根據以往的傳統,Google 總是先在自家的生產環境上線運用後,纔會將代碼開源,此次也不例外。
根據實地測試,在部署了最新版內核並開啓了 TCP BBR 的機器上,網速甚至可以提升好幾個數量級。
要在CentOS 上安裝最新的內核版本,需要增加一個 ELRepo 源。
首先,載入公鑰,讓我們添加 ELRepo GPG key:
# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
爲 RHEL-6,SL-7或CentOS-7 源:
# rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm
安裝 fastestmirror
# yum install yum-plugin-fastestmirror
安裝kernel 最新版
# yum --enablerepo=elrepo-kernel install kernel-ml kernel-ml-devel
將kernel-ml 選爲第一啓動
# grub2-set-default 0
重啓服務器
# reboot
重啓後,通過 uname -a 查看內核是否切換到最新版
# uname -a
Linux ip-172-31-16-70.ap-southeast-1.compute.internal 5.2.0-1.el7.elrepo.x86_64 #1 SMP Mon Jul 8 09:37:45 EDT 2019 x86_64 x86_64 x86_64 GNU/Linux
在 /etc/sysctl.conf 中添加一下配置
# echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
# echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
保存退出使其生效
# sysctl -p
執行下面明亮查看內核是否開啓 TCP BBR
# 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
若返回以上信息,則說明開啓成功
查看 tcp_bbr 模塊是否加載:
# lsmod | grep tcp_bbr
tcp_bbr 20480 1
如果想關閉可執行:
sed -i '/net\.core\.default_qdisc=fq/d' /etc/sysctl.conf
sed -i '/net\.ipv4\.tcp_congestion_control=bbr/d' /etc/sysctl.conf
sysctl -p
執行完畢重啓可生效
本文參考 https://www.dahaiwangyang.com/2019-03/technical-note/linux/centos7/tcp-ip/248.html