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:
- puppeteer-core:
^24.38.0 → 25.1.0 (major version bump)
- Brave browser:
1.90.128 → 1.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.
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
Workload
Observed throughput
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:
Link extraction timed outThe ~4× increase in
Link extraction timed outstrongly 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:
^24.38.0→25.1.0(major version bump)1.90.128→1.91.175The 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 outin 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.