准备可比较的测试
1
固定配置与目标
复制后台生成的主机、端口、用户名和密码。记录入口、目标出口地区、协议、会话模式与测试时间。下面 https://example.com/ 只用于展示命令格式。将每条命令中的目标替换成同一个实际测试 URL。选择响应较小的页面或接口,保持请求方法与重定向处理一致。示例不跟随重定向,不下载网页子资源。
2
测量直连基线
先运行对应平台的直连命令。—noproxy ’*’ 明确禁用这次请求的代理,避免环境变量让基线仍经过代理。
3
测量代理路径
选择与你的后台协议一致的 HTTP 或 SOCKS5 命令,替换全部大写占位符后运行。HTTP 代理入口与 HTTPS 目标是两个设置;只有后台明确提供 TLS 代理入口时才使用 https:// 代理方案。SOCKS5 示例使用 socks5h://,让代理解析目标域名。
4
重复并记录失败
每种配置顺序测试 5–10 次。保持设备、网络、目标、响应规模与会话设置一致,保存 HTTP 状态、curl 退出码、错误及三项时间。分别统计成功请求总耗时的中位数、最小值与最大值,并记录 失败次数 / 总次数。超时、认证失败及目标错误不作为“0 秒成功”。粘性比较时保留同一组凭据,见轮换与会话。
macOS 或 Linux
直连
HTTP 代理
SOCKS5 代理
--noproxy '' 清除该次请求的代理绕过列表。socks5h:// 使用代理端域名解析;socks5:// 使用本地解析。
Windows PowerShell
使用curl.exe 避免 curl 别名;用 NUL 丢弃响应正文,不能照抄 Unix 的 /dev/null。
直连
HTTP 或 SOCKS5 代理
$latencyProxy。示例临时清空并恢复 NO_PROXY,避免排除规则使请求直连,也避免旧版 PowerShell 丢失空字符串参数的问题。
读取时间与错误
这些时间互相包含,不要将三项相加。直连也慢时,继续检查本地网络和目标;连接阶段慢时检查入口路径;首字节或总耗时增加时,需要结合目标响应与传输情况判断。单个时间无法分离服务内部每一段延迟。
每次新启动 curl 通常建立新连接,实际应用可能复用连接。先用一致的命令定位,再测试真实应用的行为。参数与时间定义见 curl 官方手册。