15 – Performance (Sitespeed.io)
The test starts a real browser, loads the page and measures what actually happens. It's a measurement, not an estimate derived from file sizes.
What is tested?
- Load time: how long it takes before the page is usable
- Number of requests: how many files the browser has to fetch
The tool behind it is Sitespeed.io, which runs the page several times and uses the median, so that a single slow run doesn't decide the score.
How it affects the score
The score reflects how the page is experienced:
| Score | Meaning |
|---|---|
| 5.0 | The website is really fast |
| 4.0 | The website is fast |
| 3.0 | About average speed |
| 2.0 | The website is quite slow |
| 1.0 | The website is very slow |
The number of requests is weighed in separately. Many small files cost time even when each one is small.
Running the test
python default.py -u https://example.com -t 15 -r
Settings
| Setting | Default | Meaning |
|---|---|---|
tests.sitespeed.browser |
chrome |
Browser, chrome or firefox |
tests.sitespeed.iterations |
2 |
Number of runs the median is taken over |
tests.sitespeed.timeout |
30 |
Seconds before a run is aborted |
tests.sitespeed.mobile |
false |
Simulate mobile. Can also be enabled with the -m flag |
tests.sitespeed.docker.use |
false |
Run Sitespeed.io in Docker rather than via Node |
tests.sitespeed.xvfb |
false |
Run the browser on a virtual display, for servers without graphics |
Worth knowing
Several tests share a single Sitespeed run. Running 15 together with, say, 21, 22 and 23 is faster than running them separately.
See also
- 30 – Lighthouse: Google's take on the same page
- 22 – Energy Efficiency: built on data transferred