Skip to content

reg-m/pagespeed-simulation-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Lighthouse Custom Configuration

Requirements:

  • node > 18

Instructions:

Run lighthouse test for Mobile:

bash performance example_project or npm run performance example_project

Run lighthouse test for Desktop:

bash performance example_project desktop or npm run performance example_project desktop

Simulated Slowdown

Tweak slowdown factor in config/{project}.cfg. Pagespeed uses a simulated slowdown of 4x for mobile tests, and no slowdown for desktop.

The approximate hardware difference between the pagespeed and a M3 Pro processor is near 10x so by adjusting the config to:

# Adds 10 to slowdown
mobile_slowdown=14
desktop_slowdown=10

The lighthouse scores become similar to Pagespeed

Blocking Assets

We can block assets by adding them to the blocked_patterns list in config/config.cfg.

For example we can block trackingware by adding:

blocked_patterns+=(
    "googletagmanager"
    "doubleclick.net"
)

Pagespeed Default Settings

Mobile

{
    "onlyCategories": [
        "performance"
    ],
    "channel": "lr",
    "formFactor": "mobile",
    "locale": "en-US",
    "screenEmulation": {
        "deviceScaleFactor": 1.75,
        "height": 823,
        "mobile": true,
        "width": 412
    },
    "throttling": {
        "downloadThroughputKbps": 1474.5600000000002,
        "requestLatencyMs": 562.5,
        "rttMs": 150,
        "throughputKbps": 1638.4,
        "uploadThroughputKbps": 675,
        "cpuSlowdownMultiplier": 4
    },
    "throttlingMethod": "simulate"
}

Desktop

{
    "extends": "lighthouse:default",
    "settings": {
        "onlyCategories": [
            "performance"
        ],
        "channel": "lr",
        "formFactor": "desktop",
        "locale": "en-US",
        "screenEmulation": {
            "deviceScaleFactor": 1,
            "height": 940,
            "width": 1350,
            "mobile": false
        },
        "throttling": {
            "rttMs": 40,
            "throughputKbps": 10240,
            "cpuSlowdownMultiplier": 1
        },
        "throttlingMethod": "simulate"
    }
}

About

Simulates PageSpeed tests using custom Ligthouse CLI configuration

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages