阅读时光

机场试用开了自动重试还算稳定吗?把重试次数单独记

机场试用时给 curl 加上自动重试,最终下载成功,看起来像线路稳定;但第一次失败可能已经被重试掩盖。评估可靠性时,应分别记录“最终是否成功”和“为了成功重试了几次”。

自动重试会改变你看到的结果

curl 官方手册说明,--retry 会对超时以及部分暂时性 HTTP 状态重试,默认次数为 0。重试前会等待,并逐步增加间隔;如果服务器返回 Retry-After,curl 可据此安排下一次尝试。

--retry-all-errors 会扩大重试范围,但官方把它称为力度很大的选项,并提醒可能产生重复发送或接收。机场试用不应默认对所有错误重试,更不能对下单、提交表单等有副作用的请求使用。

先做不重试基线

使用自己有权访问的小文件或只读页面:

curl --max-time 20 --output NUL \
  --write-out "http=%{http_code} exit=%{exitcode} time=%{time_total}\n" \
  https://example.com/test

交替测试直连和候选节点,每条路径做多轮,记录首次结果。然后再加入有限重试:

curl --retry 2 --retry-max-time 45 --max-time 20 \
  --output NUL https://example.com/test

新版本 curl 的 --write-out 还可提供 num_retries,但不同设备版本不一定支持。先运行 curl --version 和本机帮助;不支持时,保留带时间戳的详细日志,人工统计尝试次数。

怎样解读

  • 不重试即可稳定成功:基线最好。
  • 首次常失败、重试后成功:可用性依赖恢复机制,交互任务仍可能卡顿。
  • 重试耗尽仍失败:继续区分 DNS、连接、TLS、HTTP 状态和持续低速。
  • 只在一个目标失败:可能是目标服务、分流或限流,不足以证明整个节点不可靠。

不要同时改变节点、超时、重试次数和测试文件。一次只改一个变量,才能知道恢复来自哪里。

试用与注册建议

可靠机场推荐应公开失败样本和重试口径。注册前先用只读任务比较候选线路,再核对试用、退款和节点倍率条款。本站授权的推广入口为 FlyBit 与 99吧;链接含推广邀请码,不代表优惠、稳定性或退款承诺。

来源:curl 官方手册:--retry、--retry-max-time、--retry-all-errors 与 num_retries。

评论

搜索文章

正在加载搜索…