【免费下载链接】TcpQuality
买 VPS 最怕什么?宣传页写得再漂亮,不如自己亲手测一遍。TcpQuality 是一款面向 VPS 选型的 TCP 质量检测工具,一条命令即可对全国三网运营商节点发起探测,自动生成三网回程线路、丢包率、平均延迟、IPv4 大包表现、单线程测速等完整报告,帮你把"玄学选机器"变成"数据选机器"。
一句话概括:VPS 选型不再靠猜,三网回程 + 丢包率 + 10 个关键指标,一次测清楚。
一、为什么 VPS 选型要看线路质量?
同样标价、同样配置的两台机器,日常体验可能天差地别,原因往往出在网络线路上:
- 回程绕路:去程走 A 线路、回程绕 B 线路,表现为"上传快、下载慢"或"延迟忽高忽低";
- 三网失衡:电信访问飞快,移动用户却卡成 PPT,你的目标用户恰好是移动;
- 隐性丢包:平均延迟看着正常,但 5% 的丢包会让网页加载、游戏、视频通话明显掉线;
- 大包受限:小包测速漂亮,实际大文件传输被 MTU 或防火墙限制拖累。
TcpQuality 的思路是:从你的 VPS 向全国各省电信、联通、移动节点发送 TCP SYN 探测包,再配合 traceroute 识别三网 TCP 回程线路,最后用 iPerf3 和单线程测速补齐"速度"维度。所有结果汇入一份可分享的报告。
二、快速上手:3 条命令开始测试
在 VPS 上以 root 身份运行(发送裸 TCP SYN 包需要权限),一条命令即可启动:
# 完整检测:IPv4/IPv6、教育网、国际互联 + 单线程测速 bash <(curl -fsSL https://gitcode.com/gh_mirrors/tc/TcpQuality/raw/main/runTcpQuality.sh) --all常用组合:
# 只测三网 IPv4 丢包与延迟(最快出结果) ... runTcpQuality.sh) -v4 # 只看三网回程线路,不发探测包、不上传报告 ... runTcpQuality.sh) --route # 只测北京/上海/广东的三网单线程速度 ... runTcpQuality.sh) --only-speedtest参数速查:
| 参数 | 作用 |
|---|---|
-v4/-v6 | 仅探测 IPv4 / 仅探测 IPv6 |
--all | IPv4/IPv6 + 教育网 + 国际互联 + 单线程测速,全量检测 |
--route | 仅做三网 TCP 回程线路识别(不发包、不上传) |
--speedtest | 探测完成后追加单线程测速 |
--cernet | 仅探测 CERNET IPv4 与 CERNET2 IPv6 |
-bj/-sh/-gd | 仅检测指定省份(北京/上海/广东简写) |
-c NUM | 每节点发包数,1-600,默认 30 |
检测过程无需安装任何东西:入口脚本 runTcpQuality.sh 会自动拉起临时 Debian rootfs 环境并进入隔离环境运行核心逻辑 runTcpQuality-core.sh,依赖(nping、curl、traceroute、iperf3 等)全部自动处理。
三、10 个关键指标逐项解读 📊
跑完报告后,对照下面 10 个指标逐项打分,VPS 线路质量基本就定了。
1. 三网丢包率(最核心)
对全国各省电信/联通/移动节点发 TCP SYN 包,统计每个节点的丢包率。脚本内置的评级标准很直观:
- 🟢正常:零丢包、低延迟;
- 🟡延迟 151-240ms 或 1-20% 重传:可用但要注意;
- 🔴延迟 >240ms 或 >20% 丢包,或探测失败:该方向线路明显不行。
判断技巧:重点看目标省份的三网是否都是绿色。某省移动整片红色,就别指望移动用户了。
2. 平均延迟(ms)
与丢包率同场测出的平均往返延迟。跨省访问 30-80ms 属正常区间;超过 150ms 开始影响交互体验。延迟本身不高但抖动大(同一节点时快时慢),往往说明线路不稳定。
3. 三网 TCP 回程线路("线路身份证")
这是 TcpQuality 最有特色的能力:用 traceroute 对每省每网节点做 TCP 路径追踪,识别回程流量走哪家线路——电信、联通、移动还是其他,并在报告中以"省份 × 运营商"矩阵呈现。相关实现集中在 runTcpQuality-core.sh 的三网回程线路识别部分。
为什么重要:回程绕路是 VPS"玄学体验"的最大元凶。同一台机器,去程直连、回程绕道,下载速度能差几倍。
4. IPv4 大包回程(1200B)
部分 VPS 因 MTU 配置不当或中间设备限制,小包正常、大包(1200B)丢包甚至不通。--only-large模式会用 nexttrace-tiny 追踪TCP 1200B 大包的独立回程路由,把"大包黑洞"提前暴露出来——这直接决定你传大文件、看高清视频的实际体验。
5. IPv6 可用性
开启 IPv6 是现在 VPS 选型的加分项:延迟更低、连接更稳,且越来越多站点开始走 IPv6。报告中若显示"未检测到可用 IPv6,已跳过 IPv6",说明该机器 IPv6 未开通或不通。
6. 教育网回程(CERNET / CERNET2)
--cernet会探测 CERNET IPv4 与 CERNET2(IPv6)节点。如果你的目标用户是高校师生(学生群体 VPS 常见场景),教育网直连与否直接决定体验。
7. 国际互联:iPerf3 TCP RTT
--intl模式会向国际节点(CDN 静态资源入口 + Telegram DC1-DC5)做 iPerf3 上传/下载测试,每个方向报告TCP RTT。RTT 越低,跨国连接越跟手。Telegram 各 DC 的 RTT 差异,还能帮你判断机器到海外主要节点的真实距离。
8. 国际互联:双向重传次数
与 RTT 同场输出上传重传 / 下载重传次数。重传次数偏高,说明国际方向链路存在丢包或拥塞——即使 RTT 好看,实际吞吐也会打折。两个指标要合起来看才是完整结论。
9. 单线程测速:去程/回程速度
--speedtest用 curl 固定目标 IP 做单线程测速(默认北京/上海/广东三地三网),分别给出去程速度、回程速度、去程延迟、回程延迟。为什么强调"单线程"?因为多并发测速容易把普通线路测出虚高成绩,单线程更接近普通用户的真实感受。相关逻辑见 runTcpQuality-core.sh。
10. TCP 重传精度(数据可信度保障)
测速中的"重传"统计依赖内核级数据:TcpQuality 通过 tcpquality-tcpinfo.c 编译的 LD_PRELOAD 库读取目标连接的TCP_INFO(tcpi_total_retrans 等字段),并在可用时用 eBPF 追踪 tcpquality-retrans-seq.bt 按 TCP 序列号去重,BTF 不可用时回退 tcpquality-retrans-skb.bt。这意味着报告里的重传数字逐连接、去重、内核级,而不是主机全局计数器——这也是 TcpQuality 数据比很多"网页测速"可信的原因。
四、看懂报告与 CSV 数据
检测完成后,终端会按"省份 × 运营商"矩阵展示颜色分级结果,同时自动生成 CSV 文件并上传报告(可--no-rank-upload关闭上传)。CSV 字段一览:
| 字段 | 含义 |
|---|---|
| 丢包率(%) | 该节点 TCP 探测丢包百分比 |
| 平均延迟ms | 该节点平均往返延迟 |
| 线路 / 回程 | 识别出的三网 TCP 回程线路 |
| 回程/去程连接耗时ms、TLS握手耗时ms | 连接建立阶段的分段耗时 |
| iPerf3重传次数 / iPerf3方向 | 国际节点双向重传数据 |
💡选型实操建议:把 2-3 台候选 VPS 的报告放一起横向对比——先看目标省份三网是否全绿(指标 1、2),再看回程是否直连(指标 3),最后用单线程测速确认速度(指标 9)。三项都过关,再比价格。
五、常见问题
Q:需要 root 权限吗?需要。发送裸 TCP SYN 包要内核权限,root 运行即可;非 root 时脚本会尝试 sudo。
Q:IPv6 没检测到?VPS 未开通 IPv6 或系统未配置双栈都会导致跳过 IPv6 探测,属正常现象,报告中会明确提示。
Q:某些节点显示"失败"或"防火墙限制"?部分机房防火墙会拦截非标准探测流量,导致延迟/丢包无法探测。此时以--route的回程识别结果为主,并多测几次交叉验证。
Q:能只测某个省吗?可以。--province bj(或简写-bj)只测北京,-sh、-gd同理,适合快速聚焦自己最关心的区域。
六、总结
选 VPS 别再只看机房列表和跑分图。用 TcpQuality 把这份"体检报告"跑出来:
- 三网丢包率与平均延迟(指标 1-2)定基础;
- 三网 TCP 回程 + IPv4 大包(指标 3-4)定线路品质;
- IPv6 / 教育网(指标 5-6)看覆盖加分项;
- 国际 RTT + 双向重传(指标 7-8)定海外能力;
- 单线程测速 + 内核级重传统计(指标 9-10)定真实体验。
数据来源说明:README.md、runTcpQuality.sh、runTcpQuality-core.sh、tcpquality-tcpinfo.c。项目采用 GPL-3.0-only 协议,详见 LICENSE。
【免费下载链接】TcpQuality
相关推荐
NautilusTrader代码质量终极指南:10个关键质量保证流程解析
NautilusTrader代码质量终极指南:10个关键质量保证流程解析 NautilusTrader是一个高性能的算法交易平台和事件驱动回测器,其代码质量保证
金融科技如何评估Awesome Roadmaps中路线图的质量与时效性:5个关键指标
如何评估Awesome Roadmaps中路线图的质量与时效性:5个关键指标 在软件开发学习过程中,Awesome Roadmaps作为精心整理的路线图集合,为
文档教程Listen gem错误排查与调试:快速解决常见问题的10个技巧
Listen gem错误排查与调试:快速解决常见问题的10个技巧 Listen gem是一款强大的文件监听工具,能够实时检测文件系统的变化并通知您。在使用过程中
开发工具
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考