全新 V6BBR + fq · Linux 4.9+

TCP 迷之调参 V6

V6 按你的线路逐项计算 Linux 内核参数:先看清能快多少、卡在哪里,再一键应用

1% 丢包的跨洋线路
×6
180 ms 时只开 BBR 单连接 59 Mbps,V6 跑到 366 Mbps
近乎无丢包的高延迟线路
+96%
100 ms 优化线路上,只开 BBR 约 230 Mbps,V6 约 450 Mbps
只改 9 个参数
9
写入独立的 sysctl.d 文件,先备份,一条命令回滚

500 Mbps 线路,单连接下载,V6 与只开 BBR 实测对比 · 看各方案对比

网络拓扑

按数据经过的路径,从你的电脑开始逐格填写

1

你的电脑

下载数据的一端

Mbps
接收窗口

Windows、macOS、Linux 6.16+

最大瓶颈
2

线路

你的电脑 ↔ 服务器

ms
这一跳可达 · 单线程接近满速807 Mbps

内核默认 7.1 Mbps

3

服务器

写入 V6

要调参的 VPS

Mbps
拥塞控制

收益预览

单线程(单连接)下载速度的估算,随上方输入实时变化;多线程对照见下方

内核默认 · 单线程

7.1Mbps

卡在线路的丢包与延迟

只开 BBR · 单线程

92Mbps

卡在服务器的发送缓冲

应用 V6 后 · 单线程

807Mbps

卡在线路的丢包与延迟

比只开 BBR

×8.8

比内核默认 ×114

内核默认只开 BBRV6 · 受限于线路丢包与延迟V6 · 受限于发送缓冲V6 · 受限于带宽V6 · 受限于接收窗口外推 · 超出实测范围
外推 · 超出实测范围0215431646861Mbps0%0.01%0.1%1%3%10%30%电信 CN2 GIA、联通 9929、移动 CMIN2、移动 CMI:公开测评参考丢包 0%,点击套用GIA 等 4 条联通 4837:公开测评参考丢包 2%,点击套用4837电信 CN2 GT:公开测评参考丢包 3%,点击套用GT

横轴改变丢包率或延迟,纵轴为单连接速度(Mbps);点击图上任意位置可直接套用

剩下的限制来自线路的丢包与延迟,V6 已把它的影响压到很小;换一条更干净的线路收益最大。

流媒体体验

单连接速度 ÷ 平台推荐码率

内核默认只开 BBRV6
YouTube 1080p5 Mbps
勉强秒开秒开
YouTube 4K20 Mbps
卡顿秒开秒开
YouTube 8K80 Mbps
卡顿勉强秒开
Netflix 4K15 Mbps
卡顿秒开秒开
Disney+ 4K25 Mbps
卡顿流畅秒开
Prime Video 4K15 Mbps
卡顿秒开秒开
Twitch 1080p60 直播8 Mbps
卡顿秒开秒开

AI 服务体验预测

按上方填写的延迟与丢包估算

内核默认只开 BBRV6
生成图片与文件下载约 5 MB · 单线程
勉强约 6 秒秒开不到 1 秒秒开不到 1 秒
Ollama 拉取 7B 模型约 4.7 GB · 单线程
卡顿约 88 分钟流畅约 7 分钟秒开约 47 秒
Hugging Face 下载 8B 权重约 16 GB · 单线程
卡顿约 5.0 小时流畅约 23 分钟秒开约 3 分钟
ChatGPT · Claude · Gemini 对话流式输出逐字到达
流畅往返 150 ms · 丢包 0.1% · 主要看线路,调参影响小
Cursor · Copilot 代码补全每次按键都要往返一次
流畅往返 150 ms · 丢包 0.1% · 主要看线路,调参影响小
ChatGPT 实时语音对话节奏对延迟最敏感
流畅往返 150 ms · 丢包 0.1% · 主要看线路,调参影响小

秒开流畅勉强卡顿· 按单连接估算;播放器与下载工具常开多条连接,实际体验通常更好

多线程下载(8 连接)500 Mbps 带宽、180 ms 延迟下的实测速度(单位 Mbps),与上方输入无关

丢包内核默认只开 BBRV6
0单线程135127419
8 连接合计451428429
1%单线程1.559366
8 连接合计9.5406424

不丢包时,多条连接一起就能跑满带宽,调不调参差别不大;V6 单线程已接近多线程水平。有丢包时内核默认开多线程也跑不起来;只开 BBR 靠多线程能接近跑满,单线程却只有几十 Mbps;V6 单线程、多线程都能保持在数百 Mbps。单文件下载、流媒体、代理转发多是单连接,以上方单线程为准;测速网站多用多线程,数字会比单线程高。

以上数值均为理论推算,不同网络环境与机器性能下实际效果会有波动。若运营商或商家本身限速(例如标称 1 Gbps 实际被限到 500 Mbps),实测仍可能明显低于推算。推算基于主线内核自带的 BBRv1;若服务器用的是 BBRv2/v3(如 XanMod 等第三方内核),线路丢包超过约 2% 时它会主动降速,实测可能明显偏低。一键命令会检测并提示,但不会替你更换算法或内核。建议应用前后各测几次速对比。

旧版本(V1–V5)需要复现以前的配置时展开

自适应爬升,可选激进模式

高效:适合视频流媒体和在线游戏

时间
速度
爬升阶段
稳定带宽
快速爬升 - 适合视频流和在线游戏
优先提高带宽利用率,略微牺牲初期稳定性
本曲线仅用做展示曲率效果,不代表实际爬升曲线,仅作参考
拥塞控制
队列
赞助商
Sharon.io

Compare

V6 与常见调参方案

同一条 500 Mbps 线路、同一台机器,只换调参方案时的单连接下载速度(Debian 12 / 13 两个内核实测取中位数)。线路越远、丢包越多,V6 与只开 BBR 的差距越大;你的网络与机器上的结果可能有差异。

V6 相比只开 BBR ×6.2;内核默认只有 1.5 Mbps

内核默认

CUBIC + fq_codel,系统出厂设置

1.5 Mbps

只开 BBR

BBR + fq,缓冲保持默认:多数一键 BBR 脚本的做法

59 Mbps

V6

当前版本

366 Mbps

线路越远、丢包越多,差距越大

180 ms内核默认1.5 Mbps只开 BBR59 MbpsV6366 Mbps

0100200300400500103050100150180300360400

横轴:往返延迟(ms);纵轴:单连接速度(Mbps)

How it works

三步完成调优

  1. 1

    填写网络条件

    选择直连或中转。中转时按数据经过的路径逐格填写:你的电脑、第一跳、中转机、第二跳、落地机;每一跳的延迟在它的起点上 ping 终点测得。

  2. 2

    看收益与瓶颈

    收益预览实时画出内核默认、只开 BBR 与 V6 的速度曲线,并标出速度卡在哪一环:服务器内存、线路、带宽,还是你的电脑。

  3. 3

    应用或回滚

    一键命令把配置写入 /etc/sysctl.d/99-omnitt-tcp.conf,先备份将被修改的值,并检查内核是否支持 BBR;页面同时给出回滚命令。

Example

示例输出

条件:本地与服务器带宽均为 1000 Mbps,延迟 100 ms,内存 1 GB,V6 默认设置。

/etc/sysctl.d/99-omnitt-tcp.conf
# TCP 迷之调参 V6 · https://omnitt.com/ # 公平队列,为 BBR 提供发包节奏(pacing)net.core.default_qdisc = fq# BBR:不把丢包当作拥塞,有丢包的线路上仍保持高速net.ipv4.tcp_congestion_control = bbr# 发送缓冲上限:随带宽与延迟连续变化,按内存预算封顶net.ipv4.tcp_wmem = 4096 16384 46305116# 接收缓冲上限:随带宽与延迟连续变化,按内存预算封顶net.ipv4.tcp_rmem = 4096 131072 46305116# 让显式设置 SO_SNDBUF 的程序也能用到同样的上限net.core.wmem_max = 46305116# 让显式设置 SO_RCVBUF 的程序也能用到同样的上限net.core.rmem_max = 46305116# 限制未发送数据堆积,降低应用层延迟net.ipv4.tcp_notsent_lowat = 131072# 仅在检测到 ICMP 黑洞时启用 MTU 探测net.ipv4.tcp_mtu_probing = 1# 长连接空闲后不重置拥塞窗口net.ipv4.tcp_slow_start_after_idle = 0

FAQ

常见问题

V6 能快多少?

和只开 BBR(多数一键脚本的做法)相比,线路越远、丢包越多,差距越大。500 Mbps 线路、1% 丢包时:30 ms 近距离只开 BBR 约 355 Mbps,V6 约 460 Mbps(+30%);180 ms 跨洋分别约 59 与 366 Mbps(约 6 倍);400 ms 远程分别约 22 与 220 Mbps。内核默认(CUBIC)在 1% 丢包下单连接只有个位数,远程线路上不到 1 Mbps。低延迟、无丢包时三者都接近跑满带宽。页面上的收益预览会按你的条件估算。

为什么调完速度还是上不去?

单连接速度取决于链路上最窄的一环。常见的有三种:服务器内存太小,撑不起足够大的发送缓冲;你的电脑接收窗口太小(Linux 6.15 及以前默认 6MB),在高延迟下只能收一两百 Mbps;或者线路本身丢包严重。收益预览会标出“最大瓶颈”并给出解法,例如提高内存档位或改用多线程下载。

生成的配置会做哪些修改?

V6 只改 9 个参数:拥塞控制(BBR)、队列规则(fq)、TCP 读写缓冲上限(tcp_rmem / tcp_wmem、rmem_max / wmem_max)、tcp_notsent_lowat、tcp_mtu_probing 与 tcp_slow_start_after_idle。缓冲上限随带宽和延迟连续变化,按内存预算封顶,且不低于内核默认值。不修改 kernel.*、vm.*、转发与 rp_filter,不影响 Docker、WireGuard 或 NAT。

和一键开启 BBR 的脚本有什么区别?

多数一键脚本只把拥塞控制换成 BBR、队列换成 fq,TCP 缓冲仍是内核默认值。延迟高或有丢包时,默认缓冲会先成为瓶颈:500 Mbps 线路、180 ms、1% 丢包时,只开 BBR 的单连接约 59 Mbps,V6 约 366 Mbps。V6 在 BBR + fq 之外,还按带宽、延迟与内存放大缓冲上限。页面下方有各方案在不同延迟与丢包下的对比。

需要什么内核版本?

BBR 需要 Linux 4.9 及以上内核。一键命令会先检查内核是否支持 BBR,不支持时不做任何修改。页面推算基于主线内核自带的 BBRv1(Debian、Ubuntu 等发行版内核均是 v1)。部分第三方内核(如 XanMod)带的是 BBRv2/v3:它们在一轮往返内丢包率超过约 2% 时会主动收缩发送量,以换取与其他连接的公平,因此在高丢包线路上实测可能明显低于推算。已在用 BBRv2/v3 时,一键命令保留原算法、不更换内核,只在执行结束时给出提醒。

应用后需要重启吗?

不需要重启服务器。缓冲上限立即生效,已有连接也会用上(程序自己固定了缓冲大小的除外);新建的连接立即改用 BBR。只有应用之前已经建立的连接会沿用原来的拥塞控制,直到断开重连。中转机与落地机之间的隧道(WebSocket、gRPC、多路复用等)常是长连接,应用后重启一次代理服务即可。一键命令执行完会显示当前的拥塞控制、队列规则,以及仍在用原算法的连接数。

配置出问题怎么恢复?

一键命令在应用前把将被修改的参数当前值保存到 /etc/sysctl.d/omnitt-tcp.backup。执行页面上的回滚命令即可删除新配置、恢复原值并重新挂载队列规则。

不同版本(V1–V6)有什么区别?

V6 是当前默认版本:参数最少,缓冲随带宽和延迟连续变化,有丢包时在各种延迟下都不低于 V5。早期版本保留给需要复现旧配置的用户。

会收集我的服务器信息吗?

不会。计算在我们的服务器上完成,提交的只有带宽、延迟、内存这类数字,不含 IP 或主机名;它们只用于生成本次结果,不记录、不存储。使用“在线实测”时,服务器地址由你的浏览器直接发给 Globalping(jsDelivr 运营的开放测量网络),不经过本站。