The process of continuous improvement for performance is:
- Make a change
- Test the results
- Performance < 90? go to 1
- Performance < 100? go to 1
Performance scores
The performance scores shown on this website are the results of 5 performance tests run against a particular URL.
They can vary even if you don’t make changes.
Each test uses a slightly different configuration:
Classified | Device? | Emulation | Throttling |
---|---|---|---|
Mobile | Moto G4 | Emulated Moto G4 CPU/Memory Power: 1929 CPU throttling: 4x slowdown (Simulated) | Network throttling: 150 ms TCP RTT, 1,638.4 Kbps throughput (Simulated) |
Mobile | Moto G4 | Simulated iPhone6 on a Fast 4G connection CPU/Memory Power: 1499 CPU throttling: 2x slowdown (Simulated) | Network throttling: 170 ms TCP RTT, 9,000 Kbps throughput (Simulated) |
Desktop | Desktop 1920 x 1080 | Emulated Desktop CPU/Memory Power: 1987 CPU throttling: 1x slowdown (Simulated) | Network throttling: 40 ms TCP RTT, 10,240 Kbps throughput (Simulated) |
Desktop | Laptop 1366 x 768 | Emulated Desktop CPU/Memory Power: 1981 CPU throttling: 1x slowdown (Simulated) | Network throttling: 40 ms TCP RTT, 10,240 Kbps throughput (Simulated) |
Desktop | Desktop 1920 x 1080 | Emulated Desktop CPU/Memory Power: 1979 CPU throttling: 1x slowdown (Simulated) | Network throttling: 40 ms TCP RTT, 10,240 Kbps throughput (Simulated) |
Since the first test is for the slowest device with a poor network speed we might expect the results to be worst. But it really all depends on what the device is being asked to do when it gets the reply from the server.
Batch commands
I run these tests using a locally installed version of Lighthouse.
Example command: lh cwiccer.com/process/big-images/
setlocal
cd \apache\htdocs\lighthouse
call lighthouse https://%1 --view --only-categories=performance
echo Use hp.bat if you want to pause between individual tests
call lighthouse https://%1 --view --only-categories=performance --throttling.rttMs=170 --throttling.throughputKbps=9000 --throttling.cpuSlowdownMultiplier=2 --screenEmulation.width=375 --screenEmulation.height=667
rem And another
call lighthouse https://%1 --view --only-categories=performance --preset=desktop --throttling-method=simulate --screenEmulation.width=1920 --screenEmulation.height=1080
rem And another
call lighthouse https://%1 --view --only-categories=performance --preset=desktop --screenEmulation.width=1366 --screenEmulation.height=768
rem And another
call lighthouse https://%1 --view --only-categories=performance --preset=desktop --screenEmulation.width=1920 --screenEmulation.height=1080
rem lighthouse --help
endlocal
- The log file for each run is saved in the
\apache\htdocs\lighthouse
directory. - It’s saved as an HTML file with file name format:
domain_date_time.report.html
- The main content of the file is JSON, which can be extracted and (easily) parsed.
- I’ve written a routine to view a summary of multiple results visually.