ENGINEERING GUIDE

代理并发、QPS 与响应时间

并发不是每秒请求数。先测量一次请求从发出到收到完整响应的端到端耗时,再结合在途请求上限、目标站点频率和任务处理开销估算吞吐量。

核心变量并发 / QPS / 延迟统计窗口稳态任务浏览器按资源请求计数目标可预测吞吐
打开隧道代理提取 查看并发与流量套餐
01
CAPACITY MODEL

先区分并发、QPS 与响应时间

指标工程含义测量方式
并发线程某一时刻仍在等待结果的在途代理请求数客户端活跃请求、连接池和代理套餐共同约束
QPS每秒完成或发出的请求数量,必须说明统计口径按目标域名、状态码和时间窗口聚合
响应时间DNS、连接、TLS、代理转发、目标处理和下载的总耗时同时记录平均值、p50、p95 与 p99
吞吐量单位时间内获得的有效页面、对象或字节数不要只统计HTTP 200,还要验证业务数据
02
STEADY-STATE ESTIMATE

用在途请求和延迟估算吞吐

在请求持续供应、连接稳定且没有额外限速的稳态窗口内,可以使用 Little 定律对应的近似关系做容量起点。响应时间必须换算为秒。

近似关系 完成 QPS ≈ 平均在途请求数 ÷ 平均端到端响应时间(秒)

这是容量估算,不是承诺值。目标站点限速、重试、队列空闲、响应体大小、解析和存储都会让实际吞吐更低。

平均在途请求平均响应时间理论完成 QPS
200.5 秒约 40 QPS
501 秒约 50 QPS
502 秒约 25 QPS
1004 秒约 25 QPS
不要用增加并发掩盖高延迟

当 p95 持续上升、429 增多或有效数据率下降时,继续增加并发通常只会放大排队与重试。应先定位目标限速、连接复用、响应体大小和解析瓶颈。

03
BROWSER REQUEST MODEL

一个浏览器页面不是一个代理请求

Requests、Axios 等 HTTP 客户端通常由代码显式决定每一次请求;浏览器则会根据页面自动并行加载资源。一个页面可能同时消耗 10-20 个并发线程,也可能更多。

主文档

页面导航本身的 HTML 请求,之后还会触发解析与子资源发现。

静态资源

JavaScript、CSS、图片、字体和媒体文件可能同时发起多个连接。

接口请求

XHR、Fetch、GraphQL、埋点与长轮询会在页面加载后继续占用连接。

按 BrowserContext 或 worker 限制并发不要把浏览器数量直接等同于代理线程数。
拦截不需要的资源确认任务只需要DOM或接口数据时,可阻止图片、字体或媒体。
测量真实页面记录每次导航的代理请求数量、总字节和完成时间。
复用浏览器进程按任务隔离Context,避免每页重复启动Chromium。
运行 Selenium 浏览器代理案例
04
OBSERVABILITY

记录能解释容量的指标

request_started_at请求或导航开始时间
duration_ms收到完整响应或页面达到完成条件的耗时
status_code区分代理认证、目标拒绝、限速与服务端错误
bytes_received评估流量套餐与大对象下载成本
retry_count观察重试是否掩盖目标站点或网络问题
target_host按目标域名独立计算QPS与错误率
session_id需要粘性路由时定位同一SESSION的行为
valid_record_count用有效数据而不是HTTP成功数衡量吞吐
05
TUNING LOOP

用小步阶梯找到稳定并发

  1. 1
    从低并发建立基线

    先确认代理出口、目标响应和解析结果正确,记录平均值与p95。

  2. 2
    每轮只提高一个变量

    逐步增加worker或单域名并发,不同时改变重试、超时与请求间隔。

  3. 3
    观察有效吞吐是否继续增长

    若QPS不再增长但延迟、429或重试率上升,应回退到上一档。

  4. 4
    预留生产余量

    不要长期运行在瞬时极限,给目标抖动、代理切换和任务峰值留下空间。

06
PRODUCT BOUNDARY

容量模型与代理产品要匹配

任务推荐起点主要容量维度
持续HTTP爬虫隧道代理并发线程或传输流量
国家定向住宅采集隧道住宅代理传输流量
持续浏览器自动化不限量动态住宅端口、带宽与页面资源请求
大对象批量下载高带宽代理IP单项目带宽、流量与目标站点
07
FAQ

常见问题

50 并发是否一定能达到 50 QPS?

不一定。稳态近似关系是吞吐量约等于并发数除以平均端到端响应时间。若平均响应时间为 2 秒,50 个持续饱和的在途请求理论上约为 25 QPS;限速、重试、解析和任务队列会继续降低实际值。 查看重试与退避策略

浏览器打开一个页面为什么会占用多个并发线程?

浏览器除主文档外还会并行请求 JavaScript、CSS、图片、字体和接口。一个页面可能同时产生 10-20 条代理请求,实际数量取决于页面资源、缓存、资源拦截和浏览器连接调度。 查看 Selenium 完整案例

并发线程套餐是否等于目标站点允许的并发?

不是。套餐并发是代理侧可同时承载的在途请求上限,目标站点仍可能有更低的频率限制。应按目标域名单独设置并发、QPS和退避策略。