vault backup: 2026-11-07 16:33:44

This commit is contained in:
cheney
2026-11-07 16:33:55 +08:00
commit 7015312702
1208 changed files with 132432 additions and 0 deletions
@@ -0,0 +1,131 @@
![BBR是什么?为什么你需要它? (一键开启BBR脚本教程)](https://pic1.zhimg.com/v2-3403eaaf7726a421737e12f4ccfa7bf9_720w.jpg?source=7e7ef6e2&needBackground=1)
在玩 VPS 的圈子里,流传着这样一句话:”买完 VPS 的第一件事,就是开启 BBR。”
如果你发现你的服务器带宽明明很大,本地延迟也不算高,但下载速度就是上不去,看视频总是转圈圈,那么 90% 的概率是因为你没有开启 **TCP BBR**。
今天,我们就来深度聊聊这个能让服务器速度倍增的神器。
---
## 一、 为什么你的带宽被”浪费”了?
在进入正题前,我们要先理解一个概念:**拥塞控制算法**。
互联网传输数据就像公路运输。当路面出现拥塞时,如果司机还在拼命往里塞车,整条路就会瘫痪。TCP 协议为了防止这种情况,设计了”拥塞控制算法”。
### 传统算法的弊端:
传统算法(如 Cubic)采用**基于丢包的被动式拥塞控制**:一旦检测到丢包,就会大幅降低发送速率,然后缓慢恢复。但在跨境网络(如访问海外 VPS)中,丢包往往不是因为拥堵,而是因为线路质量本身的波动(信号干扰或过滤)。
**这就导致了一个尴尬的局面:** 管道其实还没满,但因为偶尔的丢包,传统算法吓得不敢发货,你的带宽自然跑不满。
---
## 二、 BBR 是什么?它是如何”起死回生”的?
**BBR** (Bottleneck Bandwidth and Round-trip propagation time) 是 Google 在 2016 年开源的拥塞控制算法。它通过实时测量**瓶颈带宽 (BtlBw)** 和**最小往返传播时延 (RTprop)** 来优化传输速度。
如果说传统算法是”看到丢包就刹车”的胆小司机,那么 **BBR 就是一位”经验丰富的老司机”**:
1. **它不以丢包为唯一判据:** 通过主动探测带宽和时延,而非被动等待丢包信号。
2. **高效利用带宽:** 即使线路存在一定程度的丢包(比如 5%-10%),BBR 依然能保持极高的吞吐量。
3. **更低的延迟:** 它能有效减少路由器缓存区的堆积,从而降低网络抖动。
**一句话总结:BBR 能够在恶劣的网络环境下,更高效地利用你的带宽资源。**
**典型提升场景:**
- 高延迟环境(>100ms RTT):提升 2-5 倍
- 丢包率 5%-10% 的线路:提升 3-10 倍
- 低延迟、低丢包环境:提升有限(<20%)
---
## 三、 开启前准备:你的 VPS 支持吗?
在动手之前,请先确认你的 VPS 架构:
- **KVM / Xen / VMware:** 完美支持,你可以自由更换系统内核。
- **OpenVZ / LXC:** 通常不支持(除非服务商在母机开启了 BBR)。
目前主流的 Linux 发行版(如 Debian 9+、Ubuntu 18.04+、CentOS 8+)都已经内置了较新版本的内核。**BBR 需要 Linux 4.9+ 内核**,你可以用 `uname -r` 命令查看当前内核版本。
---
## 四、 实战教程:如何开启 BBR?
### 方法 1:官方原生开启法(最稳妥,推荐)
如果你的系统是 **Debian 10/11/12** 或 **Ubuntu 20.04/22.04** 等较新版本,内核通常已经在 4.9 以上,无需安装任何脚本,直接执行以下三行命令即可:
```text
# 1. 将 BBR 配置写入系统变量
echo "net.core.default_qdisc=fq" | sudo tee /etc/sysctl.d/99-bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" | sudo tee -a /etc/sysctl.d/99-bbr.conf
# 2. 重启使配置生效
sudo sysctl --system
sudo reboot
```
### 方法 2:一键脚本开启法(适用于旧系统或追求极致)
如果你的系统内核较旧(如 CentOS 7),或者你想安装更加激进的 **BBRplus**(魔改版),可以使用社区开发的”四合一”脚本。
**在 SSH 终端输入:**
```text
wget -N --no-check-certificate "https://github.com/chiakge/Linux-NetSpeed/raw/master/tcp.sh" && chmod +x tcp.sh && ./tcp.sh
```
**注意:** 这是第三方维护的脚本,虽然在社区中广泛使用,但使用前建议查看脚本源码(`cat tcp.sh`)或优先使用官方方法。
**操作提示:**
1. 运行后根据菜单选择”安装内核”(通常建议选择 BBRplus)。
2. 安装完成后,脚本会提示你**重启服务器**。
3. 重启后重新运行 `./tcp.sh`,选择”开启加速”即可。
---
## 五、 如何验证 BBR 是否生效?
开启成功后,输入以下命令进行验证:
```text
# 查看当前正在使用的拥塞控制算法
sudo cat /proc/sys/net/ipv4/tcp_available_congestion_control
```
如果输出结果包含 `bbr` 字样,说明你已经成功起飞!
此外,你还可以通过以下命令查看更多信息:
```text
# 查看当前可用的拥塞控制算法
sudo sysctl net.ipv4.tcp_available_congestion_control
# 查看 BBR 模块是否在运行
sudo lsmod | grep bbr
```
---
## 六、 BBRplus 和 BBRv3 有什么区别?
有些小伙伴会问,脚本里那么多版本怎么选?
- **BBR (官方版):** 最稳定,兼容性最好。适合大部分生产环境。
- **BBRplus:** 网友修改的激进版本,在丢包严重的线路上抢包能力更强。但它可能会占用过多带宽资源,在共享带宽环境下可能影响同机房其他用户,部分服务商可能禁止使用。
- **BBRv3:** Google 最新的优化版本,进一步平衡了吞吐量和公平性。
**站长建议:** 如果是个人爬墙或看视频,**BBRplus** 的体感提升往往最明显;如果是运行重要的网站业务,**原生 BBR** 是首选。
---
## 七、 结语与注意事项
开启 BBR 能让你的 VPS 更高效地利用带宽资源。对于跨境链路来说,它能带来的提升往往是**几倍甚至十几倍**的。
**⚠️ 最后的温馨提示:** 更换内核(尤其是使用一键脚本)属于高风险操作。虽然现在的脚本已经非常成熟,但依然有极小概率导致服务器无法启动。在操作前,请务必执行**快照备份**或者确保重要数据已同步。