Use case

Load Testing With Real Browsers, on a Site You Own

A request generator sends requests; a real browser also loads scripts, images, fonts and third-party tags, and calls your APIs the way the front end does. Traffic Generator puts that kind of load on your site at the volume and in the hours you choose, so you can watch the server, the CDN and the database before real visitors arrive.

Point load only at sites you own or are authorized in writing to test. The Terms of service forbid using YOOtraffic to overload a third-party site.

What Browser Load Tells You

Load from the whole page

A request generator measures how fast the server answers a URL. A browser session also downloads every asset, runs the page's JavaScript, triggers the API calls the front end makes and fires each third-party tag, so it tests cache rules, the CDN and the scripts as well as the origin.

That makes it a good check of a new release, a move to a new host or CDN, or a template that added heavy scripts, with the device and browser mix your visitors actually use.

What it does not replace

Traffic Generator sets how many sessions arrive in a day and in which hours, not an exact requests-per-second ramp. For a stress test to the breaking point or a precise concurrency curve, use a protocol tool such as k6, JMeter or Locust next to it.

A workable split: the protocol tool finds the ceiling of each endpoint, and the browser sessions show how the full page holds up at the traffic you actually expect.

Only on your own site

Run load only against a site you own or have written permission to test, and check whether your hosting provider asks for notice before a load test. The Terms of service forbid using the service to overload any third-party site.

Start well below the level you are worried about and raise it between runs, so a problem shows up as a trend in your graphs rather than as an outage.

Example: A Launch Rehearsal

A store is moving to a new host before a seasonal sale and wants to see how the new setup handles a busy evening. The rehearsal runs a compressed version of that evening against the new host, with the store's own monitoring open.

Campaign settings
Target URLThe home page on the new host, with paths through category and product pages
Volume and schedule2,000 sessions concentrated in 2 hours, about 17 new sessions a minute
Session duration180 to 300 seconds
Page depth4 pages per session, about 8,000 page loads in all
DevicesThe mobile and desktop split your analytics shows for the store
CountryThe country the sale is aimed at
Traffic sourceDirect, so the run is easy to separate from campaigns in analytics

What to watch during the run

  • Response time per path in the access log, such as the request time field in nginx, at the median and for the slowest 5 percent
  • The share of 5xx responses and timeouts, per path
  • CDN cache hit ratio: a page that should be cached but reaches the origin on every load shows up here first
  • CPU, memory and open connections on the origin and the database, and the slow query log
  • Errors from third-party scripts and from the API calls the front end makes

Cost of the rehearsal: 2,000 sessions with a duration of 180 to 300 seconds are billed at $0.0024 each, the mean of the shortest and the longest session, so $4.80 for the run.

Running a Load Rehearsal

  1. 01

    Record a baseline

    Note response times, error rate and resource use at normal traffic, for the same hours of the day, before the first run.

  2. 02

    Start at a fraction

    Run the first batch at a fraction of the target, read the graphs, then raise the volume for the next run. Change one thing between runs: the volume, the hours or the pages covered.

  3. 03

    Watch, and stop if you need to

    Keep the dashboards open while the run is on. A campaign can be paused at any moment, and paused time costs nothing.

  4. 04

    Compare with the baseline

    Set each metric from the run against the baseline. Which one degrades first, and at what volume, is the result of the rehearsal.

What Browser Load Testing Shows and What It Does Not

What it does

  • Puts full page loads on a site you own: assets, scripts, API calls and third-party tags, from real browsers
  • Lets you set the daily volume, the hours, the device mix and the paths, and repeat the same run after a fix
  • Shows how the origin, the CDN and the database behave at the traffic you expect, in your own monitoring

What it does not do

  • Does not give an exact requests-per-second ramp or a breaking-point stress test: a protocol tool does that
  • Does not test sites you do not own or are not authorized to test: the Terms forbid overloading third-party sites
  • Does not test sign-in or checkout: the sessions do not log in, fill in forms or pay

Acceptable use, data handling and the limits that apply to every tool are in the Trust Center

Tool Used in This Example

The sessions come from Traffic Generator, billed per session at a rate set by the session duration you configure. The full rate table is on the pricing page.

See Traffic Generator

FAQ

Load Testing Questions

Rehearse Before the Launch

Record a baseline, run a small batch against your own site and raise the volume between runs