打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

搬瓦工VPS性能优化:原生BBR开启指南

来自md5.pw
AlexLynn留言 | 贡献2026年1月22日 (四) 21:49的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

搬瓦工 VPS 性能飞跃:原生 BBR 拥塞控制开启与 TCP 协议栈优化指南

很多用户在购买了搬瓦工(BandwagonHost)的高速线路(如 CN2 GIA 或 CMIN2)后,在晚高峰期间偶尔仍会感觉网络吞吐量波动。这通常不是线路问题,而是 Linux 默认的 TCP 拥塞控制算法(Cubic 或 Reno)在高丢包或高延迟环境下表现保守导致的。

本文将指导你如何在不使用任何第三方“一键脚本”的情况下,安全地通过 Linux 原生命令开启 BBR (Bottleneck Bandwidth and Round-trip propagation time),并进行 TCP 协议栈的微调,以榨干服务器的每一滴网络性能。

警告:虽然本文操作均为系统原生命令,但在修改内核参数前,建议在 KiwiVM 后台对 VPS 进行快照备份(Snapshot),以防万一。

什么是 BBR?为什么它能加速?

传统的 TCP 拥塞控制算法(如 Cubic)是基于“丢包”来判断网络拥堵的。一旦发现丢包,它就会剧烈降低发送速度。而在跨国网络环境中,丢包是常态,这导致带宽往往跑不满。

Google 开发的 BBR 算法则是基于“带宽”和“延迟”来建模。它不把丢包当作拥塞信号,而是尽可能探测物理链路的最大带宽。简单来说:BBR 就像给你的数据包装上了智能导航,能在拥堵的网络公路上更激进地抢占车道。

第一步:检查 Linux 内核版本

BBR 需要 Linux Kernel 4.9 以上版本支持。搬瓦工目前的系统镜像(CentOS 7/8, Ubuntu 20.04/22.04, Debian 10/11)默认内核均已支持,通常无需更换内核。

在终端输入以下命令查看内核版本:

uname -r
  • 如果输出类似 4.18.0-xxx5.4.0-xxx 或更高,说明内核符合要求。
  • 如果输出是 3.10.x(主要是老旧的 CentOS 7),建议先重装系统至 Debian 11 或 Ubuntu 22.04(推荐)。

第二步:开启 BBR (无需安装任何脚本)

我们拒绝使用来路不明的“暴力魔改 BBR 脚本”,因为它们可能会破坏系统库文件或植入后门。Linux 原生开启 BBR 只需要修改 /etc/sysctl.conf

1. 开启 IP 转发和 BBR

复制以下完整命令块并在终端执行:

# 开启 IP 转发
echo "net.ipv4.ip_forward = 1" | sudo tee -a /etc/sysctl.conf

# 设置队列算法为 fq (Fair Queuing)
echo "net.core.default_qdisc = fq" | sudo tee -a /etc/sysctl.conf

# 设置拥塞控制算法为 bbr
echo "net.ipv4.tcp_congestion_control = bbr" | sudo tee -a /etc/sysctl.conf

2. 使配置生效

执行以下命令让刚才的修改立即生效:

sudo sysctl -p

3. 验证是否开启成功

执行以下命令检查:

lsmod | grep bbr

如果输出中包含 tcp_bbr(如下图所示),说明 BBR 模块已成功加载并运行。

tcp_bbr                20480  14

第三步:进阶 TCP 协议栈优化 (可选)

开启 BBR 已经能解决 90% 的问题。如果你想进一步优化高并发场景下的表现(例如建站),可以添加以下参数。

编辑配置文件:

nano /etc/sysctl.conf

在文件末尾添加以下优化参数(请仔细阅读注释):

# 增加 TCP 缓冲区大小,提升大文件传输速度
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.ipv4.tcp_rmem = 4096 87380 16777216
net.ipv4.tcp_wmem = 4096 65536 16777216

# 开启 TCP 窗口缩放 (Window Scaling),现代网络必备
net.ipv4.tcp_window_scaling = 1

# 开启 SYN Cookies,防止 SYN Flood 攻击
net.ipv4.tcp_syncookies = 1

# 缩短 TCP 连接的保活时间 (Keepalive),默认 7200 秒太长了
net.ipv4.tcp_keepalive_time = 600
net.ipv4.tcp_keepalive_intvl = 15
net.ipv4.tcp_keepalive_probes = 5

# 允许更多的半连接,应对突发流量
net.ipv4.tcp_max_syn_backlog = 8192

保存并退出 (Ctrl+O, Enter, Ctrl+X),然后再次执行 sysctl -p 使其生效。

常见问题 (FAQ)

Q
网上说的“BBR Plus”、“BBR 魔改版”比原版更好吗?
A: 不推荐在生产环境使用。 魔改版通常是不仅修改了算法参数(极度激进,可能导致断流),还替换了非官方编译的内核。对于搬瓦工这种本身质量就很高的线路(CN2 GIA),原生 BBR 的稳定性与速度平衡是最好的。
Q
我是 OpenVZ 架构的 VPS,能用吗?
A: 不能。本文教程仅适用于 KVM 架构(搬瓦工目前在售的所有 VPS 均为 KVM)。OpenVZ 用户受限于宿主机内核,无法自行开启 BBR。
Q
开启后速度反而变慢了?
A: 极少数情况下,特定地区的 ISP可能会对长时间高发包的 UDP/TCP 连接进行 QOS 限制。如果发现变慢,只需将 sysctl.conf 中的 bbr 改回 cubic 并执行 sysctl -p 即可复原。

Created by AlexLynn for md5.pw Community.