返回博客
操作教程2026年9月19日

2026 代理限速应对:从诊断到提速

易代理数据方案团队·公开网络数据采集研究·6 分钟阅读
deterring-proxy-imposed-speed-throttling-strategies

TL;DR: 先用“直连固定端点、代理固定端点、代理业务目标”三组测试区分代理瓶颈、目标端限流和本地拥塞。重点比较 p95 TTFB、持续吞吐量、成功率、429 与并发拐点;确认代理侧变慢后,再优化连接复用、自适应并发、退避、粘性会话和出口权重,而不是逐请求更换 IP。

本文适用于获授权的网页采集、API 调用、本地化测试和广告验证。测试与优化必须遵守目标站点条款、robots.txt、账户规则及适用法律;边界不明确时,先阅读代理服务器使用的法律边界

缓解代理限速策略

先确定瓶颈位于哪一段

代理服务商限速通常表现为账户、端口或出口池达到并发或带宽阈值后,总吞吐量不再增长。目标端限流更常伴随 429、验证码、连接重置或账户级降速;本地网络拥塞则会同时影响直连与代理请求。

同步运行三组测试,避免把目标服务器处理时间误判为代理问题:

测试组请求路径诊断目标
A客户端 → 固定测试端点建立本地网络和目标端基线
B客户端 → 代理 → 固定测试端点检查代理节点、出口和账户容量
C客户端 → 代理 → 业务目标检查目标端限流与会话策略

固定端点可分别提供 1 MB 和 10 MB 静态文件。1 MB 文件突出 DNS、TCP、TLS 和首字节延迟,10 MB 文件更适合测量持续吞吐量。

判断代理侧瓶颈的四个信号

吞吐量在固定并发处触顶

依次使用 1、2、4、8、16、32 个并发,每档持续 3 至 5 分钟。如果 B 组在 8 个并发达到 78 Mbps,16 和 32 个并发仍约为 80 Mbps,而 A 组继续增长,代理端口、账户或出口池可能存在容量上限。

该结果只能与同一客户端、时段和目标的基线比较。跨国家或跨运营商比较单次速度没有诊断价值。

高峰期尾延迟与错误率同步上升

共享出口拥塞往往会推高 p95 TTFB、连接失败率和 TCP 重传。可使用 mtrtraceroute 比较路径,但中间一跳的 ICMP 丢包不能单独证明故障:路由器可能限制 ICMP 响应,却继续正常转发 TCP 流量。

应按国家、城市、ASN 和资源池拆分数据。例如,只有某个 ASN 的 p95 TTFB 从 400 ms 升至 2 秒,就应降低该池权重,而不是替换整个国家的节点。

累计流量达到固定点后降速

连续传输同样大小的文件,每 1 GB 或每 10 分钟记录吞吐量。若速度在明确的累计流量点下降,重新连接和更换目标后仍未恢复,应核对套餐带宽、公平使用政策和账户级限制。

只有业务目标返回 429

429 Too Many Requests 的定义见 RFC 6585 第 4 节。如果 B 组正常而 C 组持续返回 429,应读取 Retry-After、降低该域名请求率并检查账户配额,而不是立即轮换 IP。

针对采集任务,可结合避免采集时触发 IP 封禁的方法设置缓存、速率上限和会话分配。

可复现的代理测速流程

1. 固定测试变量

每轮固定客户端、本地出口、代理国家或城市、ASN、协议、URL、响应体大小、会话模式、并发、超时和测试时段。每个组合至少运行 3 轮,报告 p50、p95、成功率与每秒传输字节数;平均耗时会掩盖少量极慢请求。

2. 拆分请求阶段

使用 curl 分别记录 DNS、连接、TLS、TTFB、总耗时和下载速率:

curl -o /dev/null -sS \
  -w 'dns=%{time_namelookup} connect=%{time_connect} tls=%{time_appconnect} ttfb=%{time_starttransfer} total=%{time_total} speed=%{speed_download}\n' \
  example.com

测试 HTTP(S) 代理时加入 --proxy。测试 SOCKS5 且需要由代理端解析域名时使用 socks5h://socks5:// 默认由客户端解析,混用会改变网络路径与 DNS 暴露面。

3. 预热后再测量

先发送 10 至 20 次预热请求,再运行至少 15 分钟。容量测试应覆盖业务高峰和低峰,并在基准阶段关闭自动重试,单独统计超时、4295xx、TLS 错误与代理连接失败。

提升速度与缓解限速的方法

复用连接,避免重复握手

HTTP/1.1 持久连接的管理规则见 RFC 9112 第 9 节。按“代理端点、目标域名、会话类型”建立连接池,可减少重复 TCP 和 TLS 握手。

连接池上限应靠测试确定。如果吞吐量在 16 个连接后不再增长,把池扩大到 100 只会增加排队、超时和文件描述符占用。支持条件满足时,TLS 1.3 会话恢复可减少后续握手工作,其机制见 RFC 8446 第 2.2 节。

使用自适应并发和令牌桶

为每个目标域名设置独立令牌桶,并根据最近 5 分钟的 p95 TTFB、成功率和 429 比例动态调整并发。例如,连续两个窗口成功率高于 99%、p95 稳定时,将并发增加 10%;出现 429 或 p95 翻倍时,立即降低 25% 至 50%。

状态码应触发不同动作:

  • 429:遵循 Retry-After;缺失时按 1、2、4、8、16 秒退避,并加入 0% 至 30% 随机抖动。
  • 500502503504:最多重试 2 至 3 次,防止重试风暴。
  • 连接超时:先降低并发,再检查节点与路由。
  • 401403:停止重试,检查授权、会话和访问规则。

缓存并减少无效传输

对允许缓存的资源保存响应,并使用 ETagIf-None-MatchLast-ModifiedIf-Modified-Since 发起条件请求。返回 304 Not Modified 时无需重复下载响应体,能直接降低代理流量和目标端压力。

API 任务还可批量合并请求、缩小字段集并压缩响应。设计方案可参考使用 API 制定有效网页采集策略使用代理扩展安全 API 调用

正确选择粘性与轮换会话

登录、购物车、分步表单和依赖 Cookie 的任务应使用粘性会话。逐请求换 IP 会破坏连接复用,并重复产生 TCP、TLS 与身份校验开销。

无状态公开请求可在获准范围内按任务批次轮换。例如,一个会话处理 20 至 100 个相关请求后再释放,比每次请求更换 IP 更容易控制速率、缓存和错误归因。

动态降低慢节点权重

每 5 分钟计算各节点或 ASN 的 p95 TTFB、成功率与吞吐量。连续 3 个窗口异常时降低权重,恢复后分阶段增加流量,避免所有请求瞬间回流。

HTTP(S) 与 SOCKS5 没有固定的速度排名。SOCKS5 的功能范围定义于 RFC 1928,且协议本身不提供传输加密;只有在相同节点、目标、并发和响应体条件下实测更快时才应切换。

能定位并改善代理速度的工具

工具可观测数据优化动作
curl、HTTPieDNS、连接、TLS、TTFB、总耗时对比直连与代理,识别慢阶段
mtrtraceroute路由、RTT、可见丢包定位地区或 ASN 路径异常
Prometheus、Grafanap50、p95、成功率、吞吐量、状态码建立分池告警和容量曲线
OpenTelemetry单次请求、重试和服务阶段查找重试放大或应用端等待
HAProxy、Envoy连接池、健康检查、动态权重复用连接并自动降权慢节点
mitmproxy请求头、重试、连接复用检查获授权流量;必须脱敏令牌与 Cookie

可设置三条调查告警:代理固定端点的 p95 TTFB 连续 15 分钟超过过去 7 天同时段基线的 2 倍;成功率连续 3 个窗口低于目标;并发不变时吞吐量下降超过 30%,且直连组保持稳定。

EProxies 容量与计费选择

EProxies 提供覆盖 195 个以上国家和地区的 7200 万以上住宅 IP,支持 HTTP(S) 与 SOCKS5。公开可用率为 98.2%,并提供 99.9% 可用率 SLA;统计周期、排除项和赔付条件以合同为准。

可根据任务模型选择:

  • 按量住宅代理低至 $0.25/GB
  • 300 GB 阶梯方案约 $0.73/GB
  • ISP SOCKS5 代理低至 $0.95/IP
  • 不限流量方案 $79/月起

大文件下载应比较每 GB 成本;固定登录态任务还要计算每 IP 成本、会话持续时间和重连开销。不限流量指计费方式,不代表无限端口、无限并发或不受公平使用条款约束。

在中国使用代理时,还需考虑跨境路径、目标地区与合规要求,参见在中国安全使用代理的 5 个技巧

常见问题

如何确认是代理服务商限速,而不是目标网站变慢?

同时运行直连固定端点、代理固定端点和代理业务目标三组测试。只有代理固定端点出现吞吐量平台、p95 延迟升高或成功率下降时,才应调查代理节点、出口池或账户策略;若固定端点正常而业务目标返回 429,问题更可能在目标端。

绕过限速有哪些高级方法?

对获授权任务,可采用自适应并发、分域名令牌桶、连接复用、条件请求、缓存、批量 API 和按健康度加权的出口池来缓解限速。更高级的做法是根据 p95 TTFB 与 429 比例自动升降并发,并对不同账户或目标端配额分别排队。不要通过伪造身份、绕过访问控制或大规模换 IP 规避目标站明确限制。

哪些工具有助于提高代理速度?

HAProxy 和 Envoy 可通过连接池、健康检查与动态权重减少握手并避开慢节点;Prometheus、Grafana 和 OpenTelemetry 用于发现尾延迟、重试放大及容量拐点。curl、HTTPie、mtrtraceroute 负责建立可复现基线,工具本身不会提速,必须根据数据调整并发、路由和连接复用。

如何有效测试代理速度?

固定客户端、代理地区、协议、目标文件和并发,先预热 10 至 20 次,再分别运行直连、代理固定端点和代理业务目标测试至少 15 分钟。记录 DNS、TCP、TLS、TTFB、下载吞吐量、状态码、成功率及 p50/p95,并在基准阶段关闭重试。每个组合至少重复 3 轮,同时覆盖高峰和低峰。

轮换 IP 能直接提高代理速度吗?

不能。轮换仅在当前节点拥塞、路由异常或流量过度集中时可能改善结果;逐请求轮换会减少连接复用,并增加 TCP、TLS、Cookie 和身份状态重建成本。

遇到 429 应该立即更换 IP 吗?

不应该。先遵循 Retry-After,暂停对应域名或账户的请求,再执行带随机抖动的指数退避。保持原节点更有利于判断限流范围,也能避免把相同请求模式扩散到整个代理池。

HTTP(S) 和 SOCKS5 哪个更快?

没有固定答案。HTTP(S) 便于处理网页、API 状态码和域名级连接池;SOCKS5 适合通用 TCP 转发。应在相同出口、目标、并发和响应体下比较 p95 TTFB、吞吐量与成功率。

何时应该更换代理节点或资源池?

当节点在固定测试端点上连续 3 个观察窗口慢于同地区基线,且降低并发、复用连接后仍未恢复时,可降权或更换。提交工单时附上 UTC 时间戳、区域、ASN、协议、并发数、错误码及 curl 分阶段耗时。

本文由 EProxies 团队撰写,经内部质量标准核查与人工审核后发布。