负载测试 — 用户手册 | YoBench
如何在 YoBench 中使用「Load Testing」模块:HTTP 最多 500 线程、浏览器最多 20 个,ramp-up,RPS / 延迟 / P95 / P99 指标。
「负载测试」模块的用途
模块对您的 Web 服务施加压力,以观察其在流量下的表现。支持两种模式:HTTP 通过 worker 线程中的 undici(最多 500 个并发线程)以及 浏览器 通过 Chromium(最多 20 个并发标签页)。指标每秒更新一次 —— RPS、延迟、P95/P99、错误率与活动线程数。
您将获得:
- 高 HTTP 并发 —— 单机最多 500 线程,无需浏览器,开销极小。
- 浏览器模式 —— 最多 20 个并发 Chromium 标签页,采用
page.goto()与waitUntil: networkidle2,用于完整渲染检查。 - Ramp-up —— 逐步增加线程(每
ramp_step_duration秒增加ramp_step_threads个线程)。 - 实时指标 —— 每秒一次快照写入
load_test_snapshots:RPS、平均延迟、P95/P99、错误率、活动线程数。 - 代理与鉴权 —— 请求头/Cookie/查询参数应用于每个请求。
- 持久化结果 —— 模板与报告保存在本地。
测试参数
创建模板时需要指定:
- URL —— 必填。
- HTTP 方法 —— 当前仅
GET(在 worker 中硬编码)。 - 请求头 —— 来自所选 鉴权配置 的
header方法。 - Cookie —— 来自鉴权配置的
cookie方法,注入Cookie请求头。 - 线程数 —— HTTP 1–500,浏览器 1–20。
- 持续时间 —— 最少 5 秒。
- Ramp-up ——
ramp_enabled、ramp_step_duration(秒)、ramp_step_threads(每步增加的线程数)。 仅 HTTP 模式可用;浏览器模式始终以全部线程启动。 - 代理 —— 从所选代理分组中随机选用一个 IP;支持鉴权。
- 鉴权配置 —— 设置中共享的条目。
同一时间仅运行 一个测试 —— 以保证测量准确性。
实时指标
每秒保存到 load_test_snapshots 的快照:
- RPS —— 最近窗口的每秒请求数。
- 平均延迟 —— 平均响应时间(毫秒)。
- P95 / P99 —— 延迟的第 95 / 99 百分位。
- 错误率 —— 失败响应的百分比。
- 活动线程数 —— 当前运行中的线程数(在 ramp-up 期间增加)。
- 总请求数 / 错误数 —— 累计计数。
最终报告还包括 P50(中位数)、Min 与 Max 延迟。
延迟样本的内存上限:HTTP —— 最近 50,000 条,浏览器 —— 10,000 条。
全局设置
中心设置中无专门的 loadTesting* 键 —— 所有参数都存在模板(load_test_templates)与报告(load_test_reports)中。
使用流程
1. 创建模板
- 在左侧菜单打开 负载测试 模块。
- 在 模板 中点击 创建模板。
- 填写 URL、模式(HTTP / 浏览器)、线程数、持续时间。
- 可选地启用 ramp-up 并设置步进。
- 选择代理分组与鉴权配置。
- 保存。
2. 启动测试
模板旁的 运行 按钮创建状态为 running 的报告。同一时间只能运行一个。停止 提前结束,指标会保留。
3. 查看报告
在 报告 标签页,每个条目都有图表(RPS、延迟、P95/P99、错误)、汇总数据与逐秒快照列表。
4. 对比执行
使用报告比较代码 / 代理 / 环境变更带来的差异。模板可任意重跑 —— 每次运行都生成独立报告。
下一步
- 测试期间通过 服务器 与 Health Check 监控后端。
- 使用 网站审计 在常规负载下评估 SEO 与 Lighthouse。
- 完整 JS 流水线检查请选择 浏览器 模式(最多 20 线程)。
帮助与反馈
希望支持 POST/PUT/DELETE、请求体、随机化数据或 WebSocket 负载?通过反馈表单联系我们。