TCP BBR是谷歌出品的TCP拥塞控制算法。BBR目的是要尽量跑满带宽,并且尽量不要有排队的情况。BBR可以起到单边加速TCP连接的效果。
BBR解决了两个问题:
· 在有一定丢包率的网络链路上充分利用带宽。非常适合高延迟,高带宽的网络链路
· 降低网络链路上的buffer占用率,从而降低延迟。非常适合慢速接入网络的用户
简单写个升级内核配置BBR的过程:
①查看系统版本
cat /etc/redhat-release CentOS Linux release 7.6.1810 (Core)
③安装elrepo并升级内核
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org rpm -Uvh https://www.elrepo.org/elrepo-release-7.0-3.el7.elrepo.noarch.rpm yum --enablerepo=elrepo-kernel install kernel-ml -y
上述方法将更新内核至最新版本,如果想更新Tlinux的内核版本,可以访问:https://github.com/Tencent/TencentOS-kernel/releases
查看需要的内核版本号,这里推荐使用4.14.105版本,然后通过以下方法进行更新:
yum install https://github.com/Tencent/TencentOS-kernel/releases/download/4.14.105-19-0021/kernel-4.14.105-19.0021.tl2.x86_64.rpm -y yum install https://github.com/Tencent/TencentOS-kernel/releases/download/4.14.105-19-0021/kernel-headers-4.14.105-19.0021.tl2.x86_64.rpm -y yum install https://github.com/Tencent/TencentOS-kernel/releases/download/4.14.105-19-0021/kernel-devel-4.14.105-19.0021.tl2.x86_64.rpm -y yum install https://github.com/Tencent/TencentOS-kernel/releases/download/4.14.105-19-0021/kernel-debuginfo-4.14.105-19.0021.tl2.x86_64.rpm -y
④更新grub文件并重启系统
egrep ^menuentry /etc/grub2.cfg | cut -f 2 -d \' grub2-set-default 0 reboot
⑤查看内核是否已更换为4.14版本
uname -r 4.14.105-19-0021
⑥编辑文件 vi /etc/sysctl.conf 末尾添加如下内容开启bbr
net.core.default_qdisc = fq net.ipv4.tcp_congestion_control = bbr
⑦加载系统参数
sysctl -p
⑧检查BBR是否开启
sysctl net.ipv4.tcp_available_congestion_control net.ipv4.tcp_available_congestion_control = reno cubic bbr lsmod | grep bbr tcp_bbr 20480 1
内容输出如上则开启成功