Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run Lighthouse in parallel by splitting your URLs or page groups across CI jobs or matrix workers, then run Lighthouse CI (LHCI) inside each worker. numberOfRuns is not a worker-concurrency setting: it repeats measurements for each URL. Keep audit settings and run counts consistent across workers, and decide explicitly how their reports will be retained or uploaded.

What “parallel” means in Lighthouse CI

There are two different kinds of repetition to distinguish:

  • CI-level parallelism: separate jobs audit separate groups of pages at the same time, when the CI provider has concurrent runner capacity.
  • Repeated measurements: LHCI runs Lighthouse multiple times for each URL. Its documented default is three runs per URL. This helps account for variability; it does not specify a general local worker-concurrency control for lhci collect.

So, shard the URL list across CI jobs to reduce the time spent waiting for audits, and use repeated runs within each shard when you need more stable measurements. The official LHCI documentation describes collection and CI integration, but does not prescribe a universal matrix-sharding or cross-job report-merge recipe. The workflow below is an implementation pattern, not an official tested sharding configuration.

Sources: LHCI configuration and LHCI getting started.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
#1 Best Overall
Sale
BONTEC Mobile Standing Desk with Keyboard Tray, Mobile Podium on Wheels
  • ADJUSTABLE HEIGHT DESIGN: The mobile standing desk promotes a healthier workstyle by allowing quick transitions between sitting and standing. The gas spring lift smoothly adjusts the height from 28.3in to 44in, supporting better posture and reducing neck and back strain during long working hours. This portable desk improves daily comfort and productivity across different environments.
  • SUPERIOR STABILITY AND DURABILITY: The rolling desk adjustable height model stands out with its sturdy H shaped steel base and reinforced structure, providing stability even at maximum extension. The waterproof and scratch resistant MDF desktop ensures long lasting use, while the retractable keyboard tray and hook create organized storage for accessories. This unique design differentiates the desk from standard folding table or rolling podium options on the market.
  • ERGONOMIC AND FUNCTIONAL DESIGN: The portable standing desk offers a spacious 25.6 x 17.7in surface to accommodate a laptop, monitor, or books. A dedicated slot holds phones and tablets, while the 23.6 x 11.8in keyboard tray supports a full size keyboard and mouse. The thoughtful structure allows the small standing desk to serve as a side table, study cart, or computer desk with keyboard tray in living rooms, bedrooms, and offices.
  • EASY MOBILITY WITH LOCKABLE WHEELS: The adjustable rolling desk includes four caster wheels that allow smooth movement between rooms. The lockable function secures the desk in place when needed, creating flexibility for use as a rolling laptop desk, classroom furniture, or teacher standing desk. The compact rolling table design makes the desk on wheels easy to move, while maintaining stability during presentations or study sessions.
  • EASY OPERATION AND LOW MAINTENANCE: The sit stand desk is operated with a simple hand lever that activates the gas spring for smooth upward adjustment, while gentle pressure lowers the surface. The mobile desk workstation requires minimal maintenance, as the MDF board is waterproof, scratch resistant, and easy to clean with a damp cloth. This reliable raising desk minimizes user effort and ensures long term durability without complex upkeep.

Plan the shards before adding CI jobs

Choose URL groups that make sense for your application: for example, core pages, commerce pages, and help pages. Assign each URL to one worker, and avoid giving one shard substantially more work than the others. CI fan-out only shortens elapsed time if jobs actually run concurrently and runner capacity is available; it does not reduce the total number of audits.

Keep the comparison fair

Use the same LHCI version, collection settings, run count, and audit environment on each shard. Differences in hardware, device form factor, throttling, browser mode, storage state, login state, or geography can affect scores and make cross-shard comparisons misleading. If a threshold is important, use a stable CI environment and control sources of nondeterminism such as A/B tests, random timeouts, and variable third-party integrations.

Lighthouse’s variability guidance says that the median score of five runs is twice as stable as one run. That is guidance about measurement stability, not a guarantee that any particular CI run will meet a threshold. See Lighthouse variability guidance and LHCI troubleshooting.

Prepare the app and LHCI configuration

Build the application and make the pages reachable from the job before auditing. For a static site, LHCI can serve built assets using staticDistDir; for a custom application server, configure startServerCommand and audit URLs that point to that server. Each worker needs the appropriate build output and a reachable instance of the site.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A minimal configuration can define the URLs for one shard. For example, save this as lighthouserc.json for the core-pages worker, adjusting the paths and static directory to your project:

{
  "ci": {
    "collect": {
      "staticDistDir": "./dist",
      "url": [
        "http://localhost:8080/",
        "http://localhost:8080/pricing/"
      ],
      "numberOfRuns": 3
    },
    "assert": {
      "preset": "lighthouse:recommended"
    }
  }
}

For a custom server instead, use the collection options documented by LHCI, including startServerCommand and the relevant audit URLs. The getting-started examples include version pins that may be old; choose and pin a CLI version compatible with your project rather than assuming an example pin is the current release. See the configuration reference.

Rank #2
Sale
HUANUO 32x19 Inch Small Electric Standing Desk, Adjustable, Light Walnut
  • 【32” x 19” Perfect for Small Spaces & Corner】 Specially designed with a compact 32" x 19" desktop, this small electric standing desk seamlessly fits into limited areas like apartments, bedrooms, and cozy home office corners without crowding your room. It is the ultimate space-saving, height-adjustable solution to pair with under-desk treadmills and walking pads for remote workers, freelancers, and students
  • 【4 Memory Presets & DIY Wheel Ready】 This adjustable desk features a smart control panel with 4 programmable memory presets for effortless one-touch height adjustment (28.3" to 46.5"). Plus, built-in universal M8 screw holes on the desk feet allow you to easily install your own casters/wheels to DIY it into a mobile rolling desk.
  • 【176 lbs Max Load & Rounded Safety Corners】 Constructed with heavy-duty steel rails and a solid desktop, this small stand up desk supports up to 176 lbs with exceptional stability while transitioning. The tabletop features smooth rounded corners to protect you, your family, or pets from accidental bumps in tight, compact spaces.
  • 【Rigorously Tested for Long-Lasting Use】 Engineered for daily reliability, our motor and lifting system have been rigorously tested to withstand up to 50,000 lift cycles under full capacity. Enjoy a whisper-quiet, smooth sit-to-stand transition that keeps you focused and productive all day.
  • 【Easy Assembly & Budget-Friendly Choice】 Comes with detailed instructions and all hardware included for a hassle-free, quick setup. Get premium electric sit-stand functionality at an unbeatable, budget-friendly price. Risk-free purchase with dedicated customer support ready to help.

Split the pages across CI workers

Use your CI provider’s matrix or separate jobs to provide each worker its own page group. Provider syntax and artifact handling differ, so this provider-neutral outline is deliberately pseudocode:

jobs:
  lighthouse:
    strategy:
      matrix:
        page_group: [core, commerce, help]
    steps:
      - checkout
      - install dependencies
      - build application
      - start or configure the built site
      - run LHCI on the URLs assigned to matrix.page_group
      - retain or upload the worker reports

In a real workflow, make the URL list depend on the matrix entry, and ensure every job has the built assets or can start the required server. Do not put all URLs in every worker unless you intend to repeat the same audits in each job.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Choose one-job simplicity or multi-job fan-out

  • One job: simplest report handling and one local LHCI sequence, but audits are not spread across CI workers.
  • Multiple jobs: can reduce elapsed time when runner capacity is available, but requires explicit page assignment and a report-retention or upload plan.

Run LHCI in each worker

lhci autorun is the straightforward integration point: it runs the applicable collection, assertion, and upload steps using the configuration and defaults available to that job. Install the pinned CLI version as part of your project or job setup, then run:

npx lhci autorun

To override the number of measurements through autorun, LHCI documents this form:

npx lhci autorun --collect.numberOfRuns=5

When passing a child-command option through autorun, use the = form. The five-run example changes repetitions per URL; it does not create five parallel workers.

Use explicit commands when you need control

The usual command flow is healthcheck, then collect, assert, and upload. Each worker can use an explicit sequence when the default autorun flow does not match the job’s needs:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Dell Optiplex 3060 Desktop Computer | Intel i5-8500 (3.2) | 32GB DDR4 RAM | 1TB SSD Solid State | Built in WiFi | Bluetooth | Windows 11 Professional | Home or Office PC (Renewed)
  • [INTEL POWERED CONTENT] - Built with a 8th Generation Hexa-Core Intel i5 and 32GB of DDR4 RAM; Modern, Windows 11 ready, with 4K support, Executive multitasking, media streaming and smooth, multi-tab web browsing; Perfect as an all-purpose multimedia computer; built for content creators; Plenty of RAM and Mass storage for photo and video editing powered by Intel HD 630
  • [LATEST WIRELESS TECH] - This Dell Desktop Computer easily connects to the internet through the Built In WiFi / Bluetooth
  • [SOLID STATE STORAGE] - This Dell Computer setup comes with an ultra-fast 1TB Solid State Drive (SSD); Setup as the primary boot device; Boot and load programs with lightning speed ; Additional expansion available
  • [BUY & OWN WITH CONFIDENCE] - From the world's largest Microsoft Authorized Refurbisher; Quality Guarantee and Free Tech Support; Award-winning Customer Service; | Support Sustainable Business
  • [MODERN HI-SPEED PORTS] - USB 3.0 (x4) | USB 2.0 (x4) | DisplayPort (x1) | HDMI Port (x1) | Audio Combo Jack (x1) | Audio Out (x1) | RJ-45 Ethernet (x1) | Internal SATA (x3)
npx lhci healthcheck
npx lhci collect
npx lhci assert
npx lhci upload

For direct collection, LHCI accepts multiple --url options, so one worker can audit more than one assigned page:

npx lhci collect 
  --url=http://localhost:8080/ 
  --url=http://localhost:8080/pricing/

Consult the LHCI configuration reference for the supported collection flags and config-file options.

Choose run counts and assertions deliberately

There is a trade-off between speed and resistance to natural variability. One run is quicker, but can be more sensitive to a transient condition. More runs take more audit time while giving you repeated observations. LHCI’s default is three runs per URL; use a consistent value across all shards so one group is not judged on a different measurement basis from another.

When choosing threshold assertions, prefer aggregate values such as a median, percentile, or min/max rather than treating a single score as definitive. Lighthouse’s documentation specifically reports the five-run median stability comparison noted above. Avoid interpreting that stability guidance as a promise that scores cannot vary; page behavior and the audit environment still matter.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Also consider whether the assertion checks a stable, meaningful outcome. The LHCI troubleshooting guide recommends reducing nondeterministic behavior and asserting more direct facts before relying on higher-level outcomes. A test environment that runs A/B variants or fluctuating third-party code can generate noise unrelated to your change.

Handle reports across separate jobs

In the standard local sequence, LHCI uses .lighthouseci/ as a handoff area: collection writes reports there, assertion evaluates them, and upload sends reports and assertion results to the configured target. Separate CI jobs do not automatically share that local directory.

Rank #4
Sale
VIVO Black 32 in Standing Desk Converter, DESK-V000K
  • Create Instant Active Standing - VIVO’s desk riser provides on-demand standing throughout the day for the freedom to get out of your chair and relieve muscle tension, reduce stress, and increase productivity. --Patented--
  • Space Efficient 31.5" Surface - The top surface measures 31.5” x 15.7”, which maximizes space while still providing room for dual monitors. The 31.3" x 11.8" (10.5" in center) keyboard tray raises in sync with the top surface to create a comfortable workstation.
  • Strong 33 lbs Lift Assist - Go from sitting to standing in one smooth motion using the innovative simple touch height locking mechanism (Adjustment Range: 4.5" to 20"). Lift design elevates straight upwards.
  • Very Minimal Assembly - This riser is almost ready to go right out of the box! Place on your existing desk, attach the keyboard tray, and start organizing your workstation.
  • We've Got You Covered - Sturdy, high-grade steel design is backed with a 3-Year Manufacturer Warranty and friendly tech support to help with any questions or concerns.

Decide whether each worker uploads its own results or whether it retains artifacts for a downstream job. If you need the reports together, preserve each worker’s output and define how the downstream step will consume it. The documented LHCI architecture explains the local command handoff, but does not prescribe one universal cross-job merge method or guarantee that separate uploads represent one build as a single combined result. Validate that your chosen storage arrangement reflects the build and privacy requirements you intend. See LHCI architecture.

Temporary public report storage is accessible to anyone who has the report URL. If reports contain information that should not be public, select a storage target appropriate for that privacy requirement. The getting-started guide discusses report storage options.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Local Node collection versus PageSpeed Insights

Local LHCI collection is useful when auditing a local build, private preview, or environment that is not publicly reachable. LHCI’s configuration documentation notes that the PageSpeed Insights collection method can test only sites publicly available over the internet and ignores other collection options. Choose based on whether your target is public and whether you need the collection controls available in the local workflow; these methods are not interchangeable for every CI target. See collection configuration.

Troubleshoot noisy or failing CI audits

Scores vary between workers or builds

  • Cause: different runner hardware, device settings, throttling, geography, browser mode, storage, or authentication state.
  • Fix: standardize those conditions across jobs and use reliable, dedicated CI hardware when enforcing thresholds. LHCI troubleshooting guidance recommends dedicated machines with at least 2 cores and 4 GB RAM as project guidance; it is not a universal hardware guarantee.
  • Also check: A/B tests, random delays, timeouts, and third-party integrations that can vary between runs.

A worker audits the wrong pages or duplicates work

  • Cause: the matrix entry is not connected to its assigned URL list, or each worker loads the full URL set.
  • Fix: map each page group to an explicit collection config or command arguments and verify the effective URLs for each job.

Reports are missing from the final result

  • Cause: each worker has its own local .lighthouseci/ directory, which disappears when the job ends unless retained or uploaded.
  • Fix: configure artifact retention or uploads per worker, then verify downstream handling rather than assuming local files cross job boundaries.

GitHub Actions cannot find an ancestor commit

  • Cause: checkout history may be too shallow or the base branch may not be available for comparison.
  • Fix: fetch the base branch and increase checkout depth as needed. LHCI troubleshooting suggests fetch-depth: 20 as a starting point, which may need adjustment for the repository.

See the LHCI troubleshooting guide for the documented environment and comparison issues.

Or skip the browser setup

If your task is to capture clean website screenshots in an automated workflow rather than run Lighthouse performance audits, ScreenshotNeo is a website screenshot API and MCP server. Lighthouse and ScreenshotNeo solve different problems: an image or PDF capture is not a Lighthouse performance report.

One GET request returns an image or PDF. For example, with cURL:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp

See the ScreenshotNeo API documentation for request options. ScreenshotNeo removes cookie/consent banners, newsletter popups, and chat widgets before capture; bot checks, blank pages, and failed loads are not billed. Its MCP server lets AI agents take screenshots, and the free plan includes 1,000 screenshots a month with no card; paid plans start at $5 for 3,000. Sign up free for 1,000 screenshots a month, with no card required.

Frequently Asked Questions

Does LHCI support auditing several URLs in one collection?

Yes. Supply multiple --url options to lhci collect, or configure multiple URLs.

Does the LHCI documentation specify a universal merge recipe for matrix jobs?

No. It documents local report handoff and upload, so cross-job artifact and aggregation behavior must be designed for the chosen CI provider and validated.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.