代理健康度:你测试了哪个网站和哪种操作?
维护可复用代理池时,把代理的总体可达性与特定目标的失败区分开来。
代理抓取了你的 IP 检测页面,却在应用所需的 API 上失败。把它称为“健康”或“已死”会丢失最有用的事实:这两个请求并不相同。
先为端点建立一条覆盖整个传输层的记录。你能连接到它的监听端口并完成所需的代理协商吗?把特定目标的观察结果放在这条记录旁边,而不是覆盖它。
| 观察 | 待调查的范围 |
|---|---|
| 代理监听拒绝连接 | 端点及其路由 |
| 代理拒绝某个目标端口 | 该目标被允许的操作 |
| 某个网站返回账号错误 | 目标应用与凭据 |
| 大响应卡住,小响应完成 | 传输负载与超时策略 |
HTTP 响应可以证明某条请求路径返回了内容,同时它对应用仍不可用。把传输成功、HTTP 状态和预期内容作为彼此独立的结果保留下来。
如果某个目标反复失败,就暂停或调查这个端点与目标的组合。为每个不相关的任务禁用该代理,可能会浪费有用的容量。反之,全局性的连接失败也不应藏在一个网站的孤立记录后面。
一条实用的健康度键可以包含代理标识、目标服务和操作类型。避免把完整的、带凭据的 URL 或每个唯一资源路径当作不断增长的键。只有在分组能对下一次请求作出有意义的预测时才分组。
目的是更好的路由证据,而不是收集更多绿色标记。健康度结果应当说明尝试了什么、在何时,以及它实际证实了什么。