BBR(Bottleneck Bandwidth and Round-trip propagation time)是由Google推出的一种TCP拥塞控制算法,它主要通过优化数据传输过程中的瓶颈带宽和往返时间来提升网络传输效率。简单点说,就是一种能改善网络速度和质量的技术。
BBR加速需要Linux内核版本为4.9或以上。你可以使用uname -r来查看当前内核版本,如果不符合,需要先对内核进行升级。
uname -r
检查当前的拥塞控制算法:在启用之前,你可以先查看系统当前使用的算法,通常默认是cubic
sysctl net.ipv4.tcp_congestion_control
修改sysctl配置文件: /etc/sysctl.conf
sudo nano /etc/sysctl.conf
将以下两行配置添加到文件末尾:
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
这里,net.core.default_qdisc=fq 表示设置公平队列(Fair Queueing)作为默认的队列规则,net.ipv4.tcp_congestion_control=bbr 则是设置TCP拥塞控制算法为BBR。
保存并应用配置:保存对 /etc/sysctl.conf 文件的修改后,运行以下命令使更改立即生效:
sudo sysctl -p
如果以后需要关闭BBR,只需注释掉(或删除)之前在 /etc/sysctl.conf 中添加的两行配置,然后再次运行 sudo sysctl -p 即可。
BBR优化和调优
尽管BBR已经为你提供了加速功能,但为了进一步提升网络性能,你还可以进行一些优化和调优。以下是几个常见的BBR优化技巧:
1_ 调整TCP缓冲区大小
可以通过调整TCP的缓冲区大小来提升BBR的性能。修改sysctl.conf文件,添加以下内容:
net.core.rmem_default = 16777216
net.core.rmem_max = 16777216
net.core.wmem_default = 16777216
net.core.wmem_max = 16777216
2_ 优化TCP连接的最大值
你还可以调整TCP连接的最大数量,以提高系统的并发性能。编辑/etc/sysctl.conf,添加以下内容:
net.ipv4.ip_local_port_range = 1024 65535
3_ 启用TCP快速打开
TCP快速打开(TFO)可以减少TCP连接的建立时间。启用TFO的命令如下:
sudo sysctl -w net.ipv4.tcp_fastopen=3
同样的,需要保存。然后让改动并生效
sudo sysctl -p