Why Lighthouse throttles
Performance scores measured on a fast developer machine without throttling are not representative of what real users experience. By simulating a mobile network and a slower CPU, Lighthouse produces scores that reflect the ~85th percentile mobile experience, making results more actionable and comparable across machines.Network throttling
The default network throttling preset targets roughly the bottom 25% of 4G connections and top 25% of 3G connections. In Lighthouse this is called “Slow 4G” (previously labeled “Fast 3G”).
This preset matches WebPageTest’s “Mobile 3G - Fast” profile.
CPU throttling
Lighthouse applies a 4x CPU slowdown multiplier by default. This moves a typical high-end desktop CPU into the performance range of a mid-tier mobile device. CPU throttling is relative to the host machine’s speed, unlike network throttling which targets absolute values. This means results can differ across devices. Lighthouse computes abenchmarkIndex for every run to help you understand your machine’s relative performance. You can find it under “CPU/Memory Power” at the bottom of the report.
The default 4x multiplier is calibrated for a high-end desktop. If your machine falls into a different bracket, use the
--throttling.cpuSlowdownMultiplier flag to adjust.
Throttling methods
- Simulated (default)
- DevTools
- Provided (disabled)
Lighthouse records an unthrottled page load, then uses a network and CPU simulation model to estimate how long the page would have taken under throttled conditions.Advantages:
- Fast — only one real page load required
- Low variance — results are deterministic
- Accuracy depends on the simulation model
- Edge cases in complex JavaScript execution paths may be less accurate
- The
View Original Tracebutton in DevTools shows the unthrottled trace, not the simulated one
Packet-level throttling
For the most accurate network simulation, use a packet-level throttling tool alongside Lighthouse’sprovided method. Packet-level throttling affects all traffic (TCP/UDP/ICMP) at the OS level.
The @sitespeed.io/throttle package is a cross-platform CLI tool for this on Mac and Linux.
On Windows, use WinShaper or Clumsy for Windows 7, or NetLimiter / TMeter for Windows 10.
Calibrating CPU slowdown
If your machine’sbenchmarkIndex is outside the typical high-end desktop range, calibrate the CPU multiplier accordingly.
Use the table below to determine an appropriate cpuSlowdownMultiplier for your host device and target device:
If your
benchmarkIndex is on the higher end of its bracket, use a higher multiplier from the range. If it’s lower, use a lower multiplier.