📜  如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度?

📅  最后修改于: 2021-10-28 02:34:31             🧑  作者: Mango

BBR 是一种现代 TCP 拥塞控制算法。它在 Google 的数据中心网络和一些面向公众的 Web 服务器(例如 Google.com 和 YouTube)上进行了测试。通过估计瓶颈带宽和 RTT 来计算起搏率,它旨在优化吞吐量和延迟/RTT。将其与大多数传统 TCP 版本区分开来的一个目标是防止瓶颈缓冲区溢出,这可能导致 Bufferbloat。

为了修复 BBR 原始版本的一些不足,BBR 团队创建了 BBRv2。由于瓶颈处的队列很小,BBRv2 不能再使共享相同瓶颈的其他 TCP 实现(例如 Reno 或 CUBIC)的实例挨饿,或导致高丢失率。不是“经典”版本,其中每个“遇到拥塞”位都应该被解释为用于拥塞控制的丢失数据包,但 BBRv2 支持更新的“DCTCP 风格”ECN 版本,例如布拉格 TCP/L4S。与 BBRv1 不同,BBRv2 将损耗视为一个信号,并试图保持在(可配置的)损耗率上限内。

提高 Linux 服务器互联网速度的要求

您应该安装了 Linux 内核版本 4.9 或更高版本,并编译了以下选项:

  1. CONFIG_TCP_CONG_BBR
  2. CONFIG_NET_SCH_FQ

运行以下命令以查看上述选项是否已在您的内核中编译:

$ sudo cat /boot/config-$(uname -r) | grep 'CONFIG_TCP_CONG_BBR'

如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度

$ sudo cat /boot/config-$(uname -r) | grep 'CONFIG_NET_SCH_FQ'

如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度

在 Linux 中启用 TCP BBR 拥塞控制

编辑 /etc/sysctl.conf 文件:

$ sudo nano /etc/sysctl.conf

如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度

配置文件应如下所示:

如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度

现在将这两个添加到配置文件的底部:

net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr

如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度

现在保存文件并退出,然后重新启动 Linux 机器或使用 sysctl 命令重新加载更改:

$ sudo reboot
OR
$ sudo sysctl --system

如何使用 TCP BBR 提高 Linux 服务器的 Internet 速度

现在如您所见,已添加选项