Performance regressions in generic scrapers
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- typescript
- Ambito
- backend, performance
Direzione di ricerca
Start by identifying the builds and scraper versions named in the issue, then inspect the changes between them and use the reported Snowflake APIFY_ANALYTICS comparisons to narrow down the regressions. Prioritize the playwright-scraper failure and restart spike, then investigate the cheerio-scraper memory spike and scaling-related web-scraper slowdown. Done means the regressions are root-caused and corrected, with the comparisons rerun to verify performance and reliability.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Summary
Build-over-build performance comparison across the scrapers in this repo (last 7 days, Snowflake APIFY_ANALYTICS, all-runs aggregate + a controlled 1-clean-item short-run subset). Three of the four scrapers show a real regression in the newer build; puppeteer-scraper looks like a clean improvement and is not part of the problem list below — see the note at the end.
cheerio-scraper — memory/efficiency regression
Builds: gTZUgxTMzuh0BBr4b (old) → 6EleDKkR2avUKBelE (new)
- Peak memory on minimal (1-item output) runs more than doubled: 1,733 MB → 6,567 MB. The exact same peak value shows up in the full aggregate too, so this looks like one run spiking to 6.5 GB — worth pulling that run to check for a leak.
- Avg CU per clean item worsened ~56% (avg items/run dropped 107.7 → 70.6, while avg CU/run stayed roughly flat).
- Avg allocated memory +15%, avg CPU +26%.
- Minor reliability dip: abort rate 0.1% → 0.4%, restarts introduced (0 → 0.05 avg/run).
- Not all bad: median duration improved (10.7s → 6.6s).
web-scraper — slower and less efficient at scale
Builds: byk3boe85HewTmSD9 (old) → XHPrjngguiKJ17ZsN (new)
- Avg duration +29.7%, p95 duration +35.5% in the full run mix; avg CU +21.9%.
- CU per clean item worse by ~12% even after crediting the new build for producing slightly more items.
- Reliability regressed: success rate -0.9pp, fail rate +0.3pp, timeout rate +0.5pp.
- Regression is concentrated in heavier/larger runs — the controlled short-run (1-item) subset is nearly flat, so this isn't a fixed per-call overhead issue, it's something that scales with run size.
- One improvement: peak memory down 32%.
playwright-scraper — severe regression, do not roll out further
Builds: 8Dwn9FInP9Z5gsRy1 (old) → vi1WR785wACojOJg7 (new)
- Fail rate: 0.7% → 14.2% (+13.5pp) — roughly 1 in 7 runs now fail outright.
- Avg restarts: 0.02 → 0.43 (~21.5×), consistent with a crash/retry loop.
- Avg clean items/run collapsed 42% (24.1 → 13.9).
- Even on minimal 1-item runs, avg duration is +35% and p95 is +47% slower.
- CU per clean item worse by ~62%.
- Recommend root-causing the failure spike before this build goes any further — this reads as a functional regression, not a tuning tradeoff.
puppeteer-scraper — looks good, please retest after the above are fixed
Builds: WGHufYdES3oOahj9x (old) → 9Ho7gB6bqt4AU1UtL (new)
- Median duration nearly halved (72.4s → 36.1s), consistent across both the aggregate and controlled short-run subset.
- CU per clean item slightly improved despite a higher raw avg-CU/run number (fully explained by producing ~25% more items/run).
- Peak memory down ~20%, reliability unchanged.
- No action needed here, but please re-run this comparison once the other three scrapers are patched, in case a shared dependency/base-image bump introduced in this cycle also affects puppeteer-scraper in ways not yet visible in the current traffic mix.
Generated from a 7-day build comparison (all-runs aggregate + 1-clean-item short-run subset) via Redash/Snowflake APIFY_ANALYTICS.
- Lingua principale
- TypeScript
- Stelle
- 149
- Fork
- 59
- Merge medio
- 7h 19m
- PR unite (30g)
- 1
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di apify/actor-scraper
-
t-universe
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apify/actor-scraper#366 · 1 commento ·
-
t-universe
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apify/actor-scraper#365 · 1 commento ·
-
Fix updating changelogs for generic scrapersForse già presa @nikitachapovskii-dev l’ha presa 10 giorni fa. Apertat-universe
apify/actor-scraper#359 · 1 assegnatario ·
-
Sitemap Extractor: fall back to Apify Unblocker when sitemap/robots.txt fetch is blocked (HTTP 403)Apertat-universe
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
apify/actor-scraper#341 · 1 commento ·
-
t-universe
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
apify/actor-scraper#340 · 1 commento ·
Tutte le issue di apify/actor-scraper
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
apache/rocketmq-dashboard#6872 ·
I maintainer di solito rispondono entro 3 giorni
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
fab-geocommuns/RNB-site#539 ·
I maintainer di solito rispondono entro 2 giorni
-
Guest multiview tile label leaks raw virtual-source-id "Whip" instead of the guest name / slot labelAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Eyevinn/open-live-studio#211 ·
I maintainer di solito rispondono entro 1 giorno
-
documentation good first issue
Difficoltà 2/5 Mezza giornata Idoneità per principianti 72/100
sujithputta02/Esapay#13 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
ehmpathy/rhachet-roles-bhuild#468 ·
I maintainer di solito rispondono entro 1 giorno