Ubuntu Server 开启BBR加速:一键优化网络性能,让服务器飞起来!

Ubuntu Server 开启BBR加速:一键优化网络性能,让服务器飞起来!

还在为服务器网络速度慢而烦恼?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已经启用。如果返回的是 cubicreno,则表示系统仍在使用的默认算法。

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?合理建议

基于以上分析,我的建议是:

  1. 大多数用户应该开启BBR:尤其是对于面向公众的网络服务视频流媒体大型文件传输场景,BBR通常能带来明显的性能提升。
  2. 先测试后部署:在生产环境部署前,先在测试环境中评估效果。虽然BBR在很多场景下表现良好,但网络环境复杂,效果可能因具体情况而异。
  3. 内核版本要更新:确保使用较新的内核版本(4.9以上),新版内核通常包含改进的BBR实现。
  4. 监控网络性能:开启BBR后,密切关注服务器网络性能指标,如吞吐量、延迟和丢包率,确保BBR带来的是正向效果。
  5. 无需重启系统:通过sysctl -p应用配置后通常立即生效,无需重启系统

结语

BBR作为Google开发的现代拥塞控制算法,能够为大多数Ubuntu服务器用户带来网络性能的免费提升,操作简单,成本低廉。按照本文介绍的步骤,不到5分钟就能完成配置和启用。

花点时间尝试开启BBR吧!你的服务器网络性能可能会因此获得显著提升。

版权信息:本文由【万事屋】原创发布,转载请注明出处并保留链接:https://www.rei3.com

请登录后发表评论

    没有回复内容

万事屋新帖