先说个反常识的结论:最贵那档,在我们场景里排第三
去年接手电商比价系统时,我默认了一条规则——预算够就上最贵的住宅代理。团队花了两周把三档服务商接进同一套调度框架,每天采集10万+商品价格,爬取窗口集中在9:00–23:00,峰值并发120线程。跑完第一轮对照,最贵那档(0.06元/IP起,主打城市级精准)在晚高峰的失败率反而最高。
我一开始怀疑是代码问题,翻了两天日志才发现:那档服务商的住宅出口节点集中在少数几个城市,晚间19:00–22:00 全国采集请求同时挤压同一批网关,并发超过85线程后可用率从99.1%掉到93.6%。贵的不是性能,是IP的城市精度和稀缺性——而比价场景压根不需要那么细。
这就是选型的第一个判断:先想清楚你的业务到底买的是IP的哪个属性。比价要的是并发承载和稳定存活,不是IP挂在哪个街道。
三档住宅代理的实测矩阵
统一测试口径:单机Python调度器,10万商品URL打散后按轮换策略取IP,连续跑7天,剔除节假日。延迟取TLS握手完成到首字节的时间,可用率按HTTP 200且内容非空计算。
| 档位 | 单价 | 轮换粒度 | 平均延迟 | 可用率 | 日封禁率 | 有效请求成本 |
|---|
| A 廉价动态池 | 0.008元/IP | 每请求轮换 | 490ms | 91.8% | 3.7% | 0.0113元 |
| B 长效住宅 | 0.032元/IP | 10–30分钟粘性 | 310ms | 98.6% | 0.9% | 0.0327元 |
| C 高匿城市级 | 0.062元/IP | 5分钟粘性 | 285ms | 99.0% | 0.6% | 0.0632元 |
注意最后一列。A档看着单价最低,算上重试和失败请求后有效成本涨了41%。B档的性价比拐点非常明显——延迟比A低180ms,封禁率低4倍,单位有效请求只贵不到3倍,但省下来的重试带宽和调度开销基本能抵掉。
C档的0.4%可用率优势,摊到10万商品上,每天多抓400条成功数据,值不值多花一倍钱?我们算过:不值。因为比价系统的容错设计允许5%的漏采,第二天补采即可。
按采集量走的选型决策树
跑完对照实验后,我们团队内部定了一张决策树,新业务接代理前先过一遍:
- 日采集量 < 1万:直接用B档长效住宅,粘性15分钟,并发控制在30以内。这个量级下A档的重试成本占比太高,省下的钱不够补人力。
- 1万–20万:B档为主池 + A档做溢出备份。用调度器按响应码分流,B档返回403或超时的URL丢给A档补,A档只承担20%流量。
- > 20万 或需要城市级价格:才考虑C档,且只对区域促销类商品启用,其余走B档。全量上C档是我们的真实翻车案例,那个月账单超预算67%。
- 有严格合规审查要求:优先看服务商的IP来源说明和白名单接入能力,别只看价格档。
决策树里最容易被忽略的是第2档的“溢出比例”。我们的实测拐点在25%左右——A档承担的备份流量超过这个比例,整体成功率就会被它拖下来。主池和备份池不是并列关系,备份池的上限必须硬编码,否则调度器会越用越顺手,最后变成主备倒挂。
并发阈值:比选型更值钱的一条经验
所有档位的住宅代理都有个共同特征:可用率不是线性下降,而是在某个并发值之后断崖。我们测出B档的拐点在95线程,C档在130线程,A档50线程就开始抖。原因是上游网关对同一出口的并发会话有隐性限流,这个参数服务商通常不写在文档里。
具体做法是把并发上限写进配置,而不是靠压测时观察:
- 调度器启动时读取
pool.max_concurrency,超过阈值自动排队,不直接抛给代理层 - 监控面板上把“单IP并发数”和“可用率”放在同一张图里,拐点会自己浮现
- 值班SOP里加一条:可用率单小时掉2个点以上,先降并发再看IP质量,别急着换服务商
说实话,这套东西写出来不复杂,但我们踩了三次才把顺序理对。第一次遇到晚高峰掉量,团队第一反应是换服务商,签了新合同才发现是自家并发打太满。
后来我们把B档接入换成蚂蚁代理的隧道模式,按天计费、并发上限可配,配合白名单认证省掉了每次请求的账密校验开销,延迟又降了30ms左右。它不一定在所有维度都最优,但在“稳定跑10万量级 + 团队少运维”这个组合上,我们目前没找到更省心的。需要看具体接入方式的可以去 mayihttp.com 翻文档。
最后一句给做决策的人:住宅代理IP的选型,本质是在为“失败重试”定价。谁的失败成本算得清,谁就不会被单价牵着走。