Download

Load Testing — User Guide | YoBench

How to use the Load Testing module in YoBench: HTTP up to 500 threads and browser up to 20, ramp-up, RPS / latency / P95 / P99 metrics.

What the Load Testing module does

The module generates load against your web services so you can see how they behave under traffic. Two modes are supported: HTTP via undici running in worker threads (up to 500 concurrent threads) and browser via Chromium (up to 20 concurrent tabs). Metrics tick every second — RPS, latency, P95/P99, error rate and active threads.

What you get:

  • High HTTP parallelism — up to 500 threads on one machine, no browser, minimal overhead.
  • Browser mode — up to 20 concurrent Chromium tabs with page.goto() and waitUntil: networkidle2, for full-render checks.
  • Ramp-up — gradual thread increase (ramp_step_threads threads every ramp_step_duration seconds).
  • Real-time metrics — one snapshot per second into load_test_snapshots: RPS, average latency, P95/P99, error rate, active threads.
  • Proxy and auth — headers/cookies/query parameters are applied to every request.
  • Persistent results — templates and reports stored locally.

Test parameters

When creating a template you specify:

  • URL — required.
  • HTTP methodGET only for now (hard-coded in the worker).
  • Headers — from the chosen auth profile (method header).
  • Cookies — from the auth profile (method cookie); injected into the Cookie header.
  • Threads — 1–500 for HTTP, 1–20 for browser.
  • Duration — minimum 5 seconds, stored in seconds.
  • Ramp-upramp_enabled, ramp_step_duration (sec), ramp_step_threads (threads added per step). Available for HTTP mode only; browser mode always starts with all threads.
  • Proxy — a random IP from the chosen proxy group; auth supported.
  • Auth profile — shared record from settings.

Only one test runs at a time — for measurement accuracy.

Real-time metrics

Snapshots are saved to load_test_snapshots every second:

  • RPS — requests per second in the latest window.
  • Avg latency — average response time in milliseconds.
  • P95 — 95th percentile latency.
  • P99 — 99th percentile latency.
  • Error rate — percent of failed responses.
  • Active threads — currently running threads (grows during ramp-up).
  • Total requests / errors — cumulative counters.

The final report also includes P50 (median), Min and Max latency.

Memory caps on latency samples: HTTP — 50,000 most recent, browser — 10,000.

Global settings

There are no dedicated loadTesting* keys in the central settings — all parameters live in templates (load_test_templates) and reports (load_test_reports).

Workflow

1. Create a template

  1. Open the Load Testing module from the left sidebar.
  2. On the Templates tab click Create template.
  3. Fill in URL, mode (HTTP / Browser), thread count, duration.
  4. Optionally enable ramp-up and set steps.
  5. Pick a proxy group and an auth profile.
  6. Save.

2. Run a test

The Run button next to a template creates a report in running status. Only one test at a time. The Stop button cuts the run short; metrics are kept.

3. Review the report

On the Reports tab each entry has charts (RPS, latency, P95/P99, errors), summary numbers and the per-second snapshot list.

4. Compare runs

Use reports to compare results across code / proxy / environment changes. Re-run a template as often as needed — each run produces its own report.

Next steps

  • Monitor the back-end during the test with Servers and Health Check.
  • Use Site Audit for SEO and Lighthouse under normal load.
  • For a full JS pipeline check, pick Browser mode (capped at 20 threads).

Help and feedback

Want POST/PUT/DELETE, request bodies, randomized data, or WebSocket load? Contact us via the feedback form.