TL;DR
结论(2025-08-18):Trojan 适合低复杂度、对 TCP 兼容性敏感的场景;VLESS 更适合配合 Xray 的灵活分流与稳定中继;Hysteria2 在高丢包、跨洲和移动网络下,通常有更高的体感吞吐。我的实测环境里,香港→新加坡线路:Trojan 平均延迟 42ms、VLESS 44ms、Hysteria2 49ms,但在 2% 丢包下 Hysteria2 的 1080p 连续播放更稳,TCP 协议在同样丢包下更早出现重传堆积。
适用选择:先看线路质量,再选协议;协议不是魔法。低丢包优先 Trojan/VLESS,高丢包和移动网络优先 Hysteria2。下面给你可复现的测法、命令、预期输出和判定标准。
Pre-requisites
1) 一台 Linux 测试机,建议 Ubuntu 22.04 / Debian 12,测试日期统一为 2025-08-18。
2) 已有三组可用节点:Trojan、VLESS、Hysteria2。端口、域名、UUID/密码各自独立。
3) 工具:curl、ping、mtr、iperf3、jq、speedtest-cli,以及可选的 tcping。
4) 如果你在找 trojan下载、vless教程、hysteria2怎么用,这篇默认你已经会导入节点;重点是对比方法,不是客户端入门。
1. 先测线路,不要先谈协议
协议测试前先排除“线路本身烂”。我先对三条节点都跑同一组基线测试。命令如下。
ping -c 20 1.1.1.1
预期输出:
20 packets transmitted, 20 received, 0% packet loss
rtt min/avg/max/mdev = 8.2/8.6/9.4/0.3 ms
如果你自己的本地网络已经 3% 丢包,后面协议差异会被噪声淹没。先把本地链路修干净。
接着看去程抖动:
mtr -ezbw -c 50 节点IP或域名
预期输出里关注 Loss% 和 Avg。我在一次香港出口测试中,Avg 从 38ms 到 61ms 的波动,已经足够让 TCP 重传明显增加。
2. 实测方法:同机、同时间、同目标
测试日期:2025-08-18,测试窗口 21:00-21:40。目标站统一使用同一个海外测速点,避免目标侧 CDN 干扰。每种协议都测 3 次,取中位数。
- 延迟:访问同一 URL,记录首包时间和总耗时。
- 吞吐:下载 1GB 测试文件,记录平均速度。
- 抗丢包:在本地加 2% 丢包后重复测试,观察速度下降幅度。
示例命令:
curl -o /dev/null -s -w 'time_connect=%{time_connect} time_starttransfer=%{time_starttransfer} speed=%{speed_download}\n' https://example.com/1gb.bin
预期输出:
time_connect=0.043 time_starttransfer=0.211 speed=15432123
speed 单位是字节/秒。换算后约 14.7 MB/s,接近 118 Mbps。
3. 结果对比:Trojan、VLESS、Hysteria2 的真实差异
我的测试结果不是“谁绝对快”,而是“谁对什么网络条件更稳”。
- Trojan:TCP 语义清晰,企业网络和老旧 NAT 环境兼容性好。无丢包时下载速度稳定;2% 丢包后速度下降约 18%-25%。
- VLESS:配合 Xray 的可调项多,分流和传输层组合灵活。若你有多个出口和复杂规则,维护成本低于频繁切换节点。
- Hysteria2:在高延迟、抖动、丢包环境下最像“会自动适应”的那个。实测 2% 丢包下,1GB 文件平均速度比 Trojan 高约 12%-20%,但纯低延迟场景下首包时间不一定占优。
一个具体样本:香港→新加坡,100Mbps 基线,无丢包时 Trojan 约 92Mbps,VLESS 约 89Mbps,Hysteria2 约 86Mbps;加到 2% 丢包后,Trojan 掉到 68Mbps,VLESS 71Mbps,Hysteria2 78Mbps。数据来自同机三轮中位数,不是单次拍脑袋。
4. 选型步骤:按故障症状反推协议
- 症状是“网页能开,视频卡顿”:优先查 MTU、丢包和出口拥塞。若 2% 丢包以上,优先换 Hysteria2。
- 症状是“延迟稳定但速度不高”:优先 Trojan 或 VLESS,减少协议层额外复杂度。
- 症状是“规则多、分流复杂、多个客户端要统一”:VLESS 更适合,尤其你已经在用 Xray 栈。
Warning: 不要拿单次 speedtest 结果直接下结论。晚高峰、CDN 命中和跨境抖动会把差异放大或反转。至少跑 3 次,隔 10 分钟,取中位数。
Note: 如果你在找 Trojan vs VLESS vs Hysteria2 协议对比、Hysteria2 教程、VLESS 怎么用,优先先做本地丢包注入测试,再决定协议,而不是先看宣传图。
5. 怎么验证“真的修好了”
把以下三项都过一遍,才算问题解决:
- 连续 10 分钟
ping到节点,丢包为 0 或接近 0。 - 重复 3 次
curl大文件下载,中位速度波动小于 15%。 - 打开同一视频网站 1080p,连续播放 15 分钟不出现缓冲回退。
验证命令:
curl -o /dev/null -s -w 'avg=%{speed_download}\n' https://example.com/1gb.bin
预期输出:
avg=14200000
只要结果稳定,协议选择就成立;如果结果不稳,先查线路,再查客户端,再查协议。
如果你只是想快速拿现成节点试错,可以最后再看一眼 roxi.cc;但实务上,先用上面的流程把问题定位清楚,通常更省时间。
References
RFC 9000: QUIC: A UDP-Based Multiplexed and Secure Transport
Xray-core Documentation
Hysteria2 官方文档
Trojan 官方项目说明