测试代理速度不能只看“能不能连上”:一个节点的真实表现由延迟、下载带宽、上传带宽和连接成功率共同决定。只有分维度测量,才能从一排节点里筛出既能秒开网页、又扛得住大流量下载的那几个。下面给出指标定义、可直接运行的命令以及批量测试思路。
代理测速的四个核心指标
- 延迟(RTT):从发起到建立连接的往返时间,决定网页首屏与交互手感,低于 300 毫秒可用,低于 150 毫秒优秀。
- 下载带宽:决定视频与文件下载速度,流媒体场景建议实测不低于 10 Mbps。
- 上传带宽:影响上传附件与视频通话质量,常被忽略却同样关键。
- 成功率与抖动:多次重复测试的成功比例和成绩波动幅度,比单次高分更能反映稳定性。
用 curl 分别测延迟和带宽
无需安装额外软件,curl 通过 -x 参数指定代理即可完成两类测量:测延迟时关注连接耗时,测带宽时关注平均下载速度:
# 测延迟:关注 time_connect(TCP 连接)与 time_total(总耗时)
curl -x http://127.0.0.1:8080 -o /dev/null -sS \
-w "connect: %{time_connect}s total: %{time_total}s\n" \
https://www.gstatic.com/generate_204
# 测下载带宽:下载 50MB 数据,speed_download 为平均每秒字节数
curl -x http://127.0.0.1:8080 -o /dev/null -sS \
-w "speed: %{speed_download} B/s\n" \
"https://speed.cloudflare.com/__down?bytes=50000000"
把字节数乘以 8 即得比特每秒。建议每个节点在不同时段各测三次取中位数,避开偶然波动后再下结论。
常用测速工具怎么选
- fast.com:浏览器打开即测,天然走浏览器代理,适合快速验证可用性。
- Speedtest 网页版:能同时查看上传带宽、延迟与抖动,信息更全面。
- Clash 系客户端:内置的延迟测试可一键跑完整个节点列表,适合日常维护。
- ProxyChecker 等开源工具:支持导入代理列表,批量验证存活状态与匿名等级。
批量测试代理池的脚本思路
手握大量代理时逐条手工测试并不现实,标准流程是“统一格式、逐条测试、结果落表、按阈值筛选”:
- 把所有代理按 协议://用户:密码@主机:端口 的统一格式写入 proxies.txt。
- 用循环加超时限制逐条请求测试地址,输出逗号分隔的结果行。
- 把输出重定向到 CSV 文件,用表格软件按耗时与速度排序。
- 按“总耗时低于 500 毫秒、速度高于 2MB/s、连续三次成功”的阈值保留节点。
while IFS= read -r p; do
curl -x "$p" -o /dev/null -sS -m 8 \
-w "$p,%{time_total},%{speed_download}\n" \
"https://speed.cloudflare.com/__down?bytes=10000000" \
|| echo "$p,timeout,0"
done < proxies.txt > result.csv
注意两点:测试本身会消耗代理流量,并发不宜设置过高,以免触发服务商限速影响结果;测速数值只代表测试时段的表现,节点质量会随时间变化,建议定期复测。对被测目标也应保持尊重,遵守其服务条款与相关法律法规。
Article ID: 7
(本文仅供技术交流,请遵守法律法规)