服务器开启拥塞控制算法 TCP BBR

BBR(瓶颈带宽和RTT)是Google在Linux内核TCP协议栈中提出的一种新的拥塞控制算法。有了BBR,Linux服务器可以显著提高吞吐量并减少连接延迟。此外,部署BBR很容易,因为该算法只需要在发送方进行更新,而不需要在网络或接收方进行更新。

在本文中,我将向您展示如何在 Linux 服务器实例上部署BBR。

先决条件

  • Linux Kernel 4.9 版本以上的服务器实例
  • 一个 sudo/root 用户

开启 BBR

为了启用BBR算法,您需要修改sysctl配置。现在假定你已经切换到了root账号,执行以下三行命令:

1
2
3
echo 'net.core.default_qdisc=fq' | tee -a /etc/sysctl.conf
echo 'net.ipv4.tcp_congestion_control=bbr' | tee -a /etc/sysctl.conf
sysctl -p

现在,内核的参数已经更新了,您可以使用以下命令确认BBR已启用:

1
2
3
4
5
6
7
8
9
10
11
sysctl net.ipv4.tcp_available_congestion_control
# 输出应类似于:
# net.ipv4.tcp_available_congestion_control = bbr cubic reno
# 接下来,验证:
sysctl -n net.ipv4.tcp_congestion_control
# 输出应为:
# bbr
# 最后,检查内核模块是否已加载:
lsmod | grep bbr
# 输出将类似于:
# tcp_bbr 20480 1

测试网络性能

为了测试开启BBR后的网络性能,可以在Web服务器目录中创建一个文件进行下载,然后从桌面计算机上的Web浏览器测试下载速度。

1
2
3
apt install nginx -y
systemctl enable --now nginx.service
dd if=/dev/zero of=/var/www/html/500mb.zip bs=1024k count=500

最后,访问URL http://[您的服务器IP]/500mb.zip 然后评估下载速度。