当前位置: 首页 > Linux

CentOS7启用BBR拥塞控制算法

时间:2023-04-06 21:49:38 Linux

最近偶然得到了DigitalOcean的VPS,但是中美之间的链接质量不敢恭维。DOSanFrancisco机房的VPS丢包率尚可,但延迟高了很多,体验也比较差。很多人使用瑞速ServerSpeeder来改善网络,但是这些具有控制网络权限的闭源代码的风险还是比较大的。对其他设置的优化效果可以忽略不计。听说新的linux内核已经支持BBR算法了,于是做了很多实验。Linux内核默认的拥塞控制算法是三次方的,对于中美链路等高时延、中等丢包率的网络来说是非常无效的。Google员工研发的BBR拥塞控制算法,大大提升了网络质量。下面教大家如何在CentOS7系统VPS上使用BBR拥塞控制算法。要升级内核,首先检查您的Linux内核版本[root@centos-512mb-sfo2-01~]#uname-aLinuxcentos-512mb-sfo2-014.12.1-1.el7.elrepo.x86_64#1SMPThuJul1307:25:32EDT2017x86_64x86_64x86_64GNU/Linux主机名后面的versionnumber是版本号,在这里可以看到,本机已经升级到最新版本4.12。要启用BBR拥塞控制算法,需要Linux内核版本4.9或更高版本。现在主流的Linux发行版内核还是2.x的,所以我们需要先升级Linux内核版本。首先,我们需要添加一个ELRepo源。首先,让我们添加ELRepoGPG密钥:rpm--importhttps://www.elrepo.org/RPM-GPG-KEY-elrepo.org添加源:rpm-Uvhhttp://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpminstallfastestmirroryuminstallyum-plugin-fastestmirror安装最新的Kernelyum--enablerepo=elrepo-kernelinstallkernel-ml切换到刚刚下载的新内核grub2-set-default0重启后,使用uname-a查看内核是否成功切换到最新版本。确认无误后,我们进入下一步启用BBR。启用BBR,在/etc/sysctl.conf中添加如下两句net.core.default_qdisc=fqnet.ipv4.tcp_congestion_control=bbr检查sysctlnet.ipv4.tcp_available_congestion_control是否成功setsysctlnet.ipv4.tcp_congestion_control检查available和current拥塞控制算法分别[root@centos-512mb-sfo2-01~]#sysctlnet.ipv4.tcp_available_congestion_controlnet.ipv4.tcp_available_congestion=bbrcubicreno[root@centos-512mb-sfo2-01~]#sysctlnet.ipv4.tcp_congestion_controlnet.ipv4.tcp_congestion_control=bbr检查BBR是否正常运行lsmod|greptcp_bbr[root@centos-512mb-sfo2-01~]#lsmod|greptcp_bbrtcp_bbr1638421开启前平均加载速度在2000以内,开启后一般能稳定在8000以上,可见提升非常巨大