还在为服务器网络速度慢而烦恼?Google开发的BBR拥塞算法可能是你的免费提速神器!
你是否曾感觉Ubuntu服务器的网络连接速度不够理想?尤其是在传输大文件或远程访问时,网络延迟和高丢包率让人抓狂?今天就来介绍一款Google开发的免费加速工具——BBR拥塞控制算法,以及如何在Ubuntu Server 20.04/22.04/24.04上检查、开启和关闭它。
什么是BBR?
BBR(Bottleneck Bandwidth and Round-trip time)是谷歌开发的一种TCP拥塞控制算法。与传统基于丢包的拥塞算法(如cubic)不同,BBR通过测量网络的瓶颈带宽和往返时间来优化数据传输,能够更有效地利用网络带宽,减少数据包的丢失和重传。
📋 如何检查BBR当前状态
在开始折腾之前,先看看你的系统是否已经启用了BBR。
1. 检查当前拥塞控制算法
打开终端,输入以下命令:
sysctl net.ipv4.tcp_congestion_control
如果返回 net.ipv4.tcp_congestion_control = bbr
,恭喜你!BBR已经启用。如果返回的是 cubic
或 reno
,则表示系统仍在使用的默认算法。
2. 检查系统内核版本
BBR要求Linux内核版本4.9或更高。使用以下命令检查内核版本:
uname -r
Ubuntu 20.04/22.04/24.04 通常已经满足这个要求。
3. 查看可用拥塞控制算法
想知道系统支持哪些算法?运行:
sysctl net.ipv4.tcp_available_congestion_control
如果输出结果中包含 bbr
,表示你的系统支持BBR算法。
🔧 如何开启BBR
如果检查发现BBR尚未开启,按照以下步骤操作:
第1步:加载BBR内核模块(可选)
多数现代Ubuntu内核已编译BBR模块,但为保险起见,可以执行:
sudo modprobe tcp_bbr
第2步:修改系统配置
编辑sysctl配置文件:
sudo nano /etc/sysctl.conf
在文件末尾添加以下两行:
net.core.default_qdisc=fq net.ipv4.tcp_congestion_control=bbr
这里第一行设置了公平队列(Fair Queuing)作为默认的队列规则,第二行则指定BBR作为拥塞控制算法。
第3步:应用配置更改
执行以下命令使配置生效:
sudo sysctl -p
第4步:验证BBR是否成功启用
再次运行检查命令:
sysctl net.ipv4.tcp_congestion_control
现在应该显示 net.ipv4.tcp_congestion_control = bbr
。
还可以使用以下命令确认BBR模块已加载:
lsmod | grep bbr
如果看到 tcp_bbr
相关的输出,表示BBR已成功加载。
⏹️ 如何关闭BBR
如果你发现BBR并不适合你的服务器环境,或者遇到了兼容性问题,可以按照以下步骤关闭BBR:
第1步:修改系统配置
编辑sysctl配置文件:
sudo nano /etc/sysctl.conf
第2步:注释或删除BBR相关行
找到之前添加的两行配置,并在行首添加#
号注释掉它们,或者直接删除这两行:
# net.core.default_qdisc=fq # net.ipv4.tcp_congestion_control=bbr
第3步:应用配置更改
执行以下命令使更改生效:
sudo sysctl -p
第4步:验证BBR已关闭
运行检查命令确认BBR已关闭:
sysctl net.ipv4.tcp_congestion_control
现在应该显示系统恢复到默认的拥塞控制算法(通常是cubic)。
✅ BBR的优点
开启BBR能为你的服务器带来以下显著好处:
- 速度提升:能够显著提高网络吞吐量,数据传输更快。
- 延迟降低:有效减少数据传输的延迟,让连接更加流畅。
- 稳定性增强:即使在网络波动的情况下,也有助于维持连接稳定。
- 实施简便:只需在终端执行几条命令,即可轻松启用。
- 广泛适用:无论是网页浏览还是提供在线服务,都能优化体验。
- 免费开源:作为Linux内核的一部分,完全免费使用。
⚠️ BBR的缺点
BBR并非万能,也存在一些局限性:
- 对网络环境敏感:在网络条件非常好的局域网内,性能提升可能感知不强。
- 技术要求较高:BBR系统的运行和维护需要高度专业的技术人员。
- 兼容性问题:某些网络设备或协议可能默认使用其他拥塞控制算法,导致BBR无法正常工作。
📊 BBR适用场景
BBR算法在以下场景中表现尤为出色:
- 视频流媒体服务
- 在线游戏服务器
- 云计算和数据中心
- 大数据传输和处理
- 高延迟、有轻微丢包的跨国链路
🤔 是否应该开启BBR?合理建议
基于以上分析,我的建议是:
- 大多数用户应该开启BBR:尤其是对于面向公众的网络服务、视频流媒体和大型文件传输场景,BBR通常能带来明显的性能提升。
- 先测试后部署:在生产环境部署前,先在测试环境中评估效果。虽然BBR在很多场景下表现良好,但网络环境复杂,效果可能因具体情况而异。
- 内核版本要更新:确保使用较新的内核版本(4.9以上),新版内核通常包含改进的BBR实现。
- 监控网络性能:开启BBR后,密切关注服务器网络性能指标,如吞吐量、延迟和丢包率,确保BBR带来的是正向效果。
- 无需重启系统:通过
sysctl -p
应用配置后通常立即生效,无需重启系统。
结语
BBR作为Google开发的现代拥塞控制算法,能够为大多数Ubuntu服务器用户带来网络性能的免费提升,操作简单,成本低廉。按照本文介绍的步骤,不到5分钟就能完成配置和启用。
花点时间尝试开启BBR吧!你的服务器网络性能可能会因此获得显著提升。
版权信息:本文由【万事屋】原创发布,转载请注明出处并保留链接:https://www.rei3.com
没有回复内容