Skip to content

browsertrix-crawler v1.13.2: ~2× slowdown in page processing vs v1.13.1 #1053

Description

@axllent

Summary

After upgrading from browsertrix-crawler v1.13.1 to v1.13.2, full-site crawls of the same JS-heavy site (same seed list, identical crawler configuration) take roughly twice as long to complete. The regression is consistent across runs. Reverting to v1.13.1 fully restores prior throughput.

Environment

  • browsertrix-crawler: v1.13.2 (regression) vs v1.13.1 (baseline - has been consistent on all versions in the last 7 months)
  • Architecture: linux/amd64 (DigitalOcean Kubernetes cluster)
  • Dedicated (to this site) 3 active crawler nodes, 12 concurrent browser windows in total
  • Crawler CPU is at ~100% utilisation in both versions during crawls
  • No configuration changes between the two runs; only the crawler version differs

Workload

  • Single site, JS-heavy on all pages
  • 326 pages per full crawl

Observed throughput

Version End-to-end full crawl time
v1.13.1 ~21 minutes
v1.13.2 ~41 minutes

CPU saturation is unchanged at ~100% in both versions, so the additional wall-clock time appears to be spent waiting (timeouts / stalls) rather than doing additional work.

Observed log patterns

Comparing crawl logs from the same workload, v1.13.2 shows a large increase in timeout-related messages. Approximate counts per full crawl:

Log message v1.13.1 v1.13.2
Link extraction timed out ~228 ~885
General errors (total) ~365 ~1075

The ~4× increase in Link extraction timed out strongly suggests that something in the page-evaluation / link-extraction path is now stalling out more often, which is consistent with the wall-clock doubling despite CPU remaining saturated.

Mitigation

We have pinned to v1.13.1 for now, which restores prior throughput.

Suspected cause

Full changelog: v1.13.1...v1.13.2

Only two changes between v1.13.1 and v1.13.2 appear to touch the page-processing hot path:

  1. puppeteer-core: ^24.38.025.1.0 (major version bump)
  2. Brave browser: 1.90.1281.91.175

The remaining changes in v1.13.2 are not on the page-processing path and are unlikely to explain the regression as far as I can tell.

The increase in Link extraction timed out in particular points at one of these two - either Puppeteer 25, or a Chromium-side change in Brave 1.91 affecting page evaluation timing.

Summary

I do not know if there is an obvious culprit causing the issue, however I thought I would post this in case anyone is experiencing the same issue(s). Obviously we cannot remain on a pinned v1.13.1 for ever, that is just buying us some time in the meantime, and I do hope to conduct further testing in the near future.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    Status
    Triage

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions