搬瓦工VPS性能优化:原生BBR开启指南:修订间差异
更多语言
更多操作
创建页面,内容为“= 搬瓦工 VPS 性能飞跃:原生 BBR 拥塞控制开启与 TCP 协议栈优化指南 = 很多用户在购买了搬瓦工(BandwagonHost)的高速线路(如 CN2 GIA 或 CMIN2)后,在晚高峰期间偶尔仍会感觉网络吞吐量波动。这通常不是线路问题,而是 Linux 默认的 TCP 拥塞控制算法(Cubic 或 Reno)在高丢包或高延迟环境下表现保守导致的。 本文将指导你如何在不使用任何第三方“一…” |
无编辑摘要 |
||
| 第115行: | 第115行: | ||
---- | ---- | ||
''Created by AlexLynn for md5.pw Community.'' | ''Created by AlexLynn for md5.pw Community.'' | ||
[[Category:500 常见应用指南 | [[Category:300 VPS 设置与管理 — VPS Setup and Management]] | ||
[[Category:500 常见应用指南 — Application Guides]] | |||
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-xxx、5.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.