量化测试

协议对比的量化方法:测速脚本与基准数据解读

2024年11月28日 约14分钟 测速基准

「哪个协议快」是个伪命题——不同时间、不同网络、不同设备下结论完全不同。 这篇不讲结论,讲方法:如何用一套可复现的流程给协议做基准测试,并正确解读数据, 避免被单次测速结果误导。

测速的四个原则

基准测试脚本

#!/bin/bash
# 测速脚本:每个协议测 5 次,输出中位数
for proto in ss vless hysteria2; do
  echo "=== $proto ==="
  for i in 1 2 3 4 5; do
    # 替换为实际测速命令,如 curl 下载测吞吐、ping 测延迟
    curl -s -o /dev/null -w "%{time_total}\n" \
      --proxy socks5://127.0.0.1:1080 http://speed.cloudflare.com/__down?bytes=10000000
  done | sort -n | sed -n '3p'
done

四个指标怎么读

指标 反映什么 测法
延迟 链路往返时间 TCP ping / 连接建立耗时
吞吐 带宽上限 iperf3 / 大文件下载
抖动 延迟波动程度 连续 ping 的 RTT 标准差
丢包 链路质量 iperf3 -u 模式统计

基准数据怎么解读

示例:同一节点下 SS 吞吐 240Mbps / 延迟 45ms,VLESS+Reality 吞吐 228Mbps / 延迟 41ms。 5% 的吞吐差距在误差范围内,不足以得出「SS 更快」的结论;但如果延迟持续低 4ms 且 抖动更小,Reality 的流控优化是有意义的。判断优先级:稳定(抖动小)> 延迟 > 吞吐, 因为吞吐是用户最容易被迷惑的指标。

常见陷阱

结论

协议对比的价值不在「谁第一」,而在于建立一套可复现的测量流程。把环境、采样、指标 都标准化后,任何结论都可以被验证、被推翻,这才是量化测试的意义。

相关阅读