So senken Sie Ihre Puppeteer-Kosten um 70 %: Der Wechsel zu Lightpanda
2026年4月28日
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
In Serverless-Umgebungen ist Puppeteer oft ein Ärgernis. Es verbraucht enorme Mengen an Arbeitsspeicher und die Initialisierung erfolgt langsam. Das ist einer der Hauptgründe, warum die Betriebskosten für AWS Lambda oder Google Cloud Functions in die Höhe schnellen. Lightpanda, entwickelt mit der Sprache Zig, macht einen Unterschied. Dieses Tool erhöht die anfängliche Ausführungsgeschwindigkeit um das 30-Fache und reduziert die Speicherauslastung um den Faktor 10.
Die Kosten für Serverless-Dienste sind proportional zur Speicherzuweisung und Ausführungszeit. Die Chromium-Engine benötigt allein für das Laden der ersten Seite 4,5 Sekunden, da sie Schriftarten-Rendering, GPU-Einstellungen und andere Dinge verarbeitet, die für das Scraping irrelevant sind. Lightpanda hingegen erledigt dies in 0,4 Sekunden. Bei der parallelen Verarbeitung von 100 Seiten belegt Chromium 4,2 GB Arbeitsspeicher, während für Lightpanda 410 MB ausreichen. Allein durch diesen Unterschied lässt sich die Lambda-Speicherkonfiguration von 1024 MB auf 256 MB senken, wodurch die Betriebskosten sofort um 70 % reduziert werden.
Sie müssen nicht Ihren gesamten bestehenden Puppeteer-Code komplett ersetzen. Mithilfe des Adapter-Patterns können Sie die Engine einfach durch Ändern von Umgebungsvariablen austauschen.
puppeteer-core.puppeteer.launch() die Methode puppeteer.connect({ browserWSEndpoint: 'ws://127.0.0.1:9222' }) aufgerufen wird.docker run -d -p 9222:9222 lightpanda/browser:nightly und testen Sie, ob Ihr Code wie erwartet funktioniert.Dieser Ansatz ist sicher, da Sie bei Problemen sofort auf die bestehende Chromium-Umgebung zurückgreifen können.
Jedes Mal, wenn Sie den Browser neu starten, verursachen Sie unnötige Kosten. Nutzen Sie stattdessen den "Warm Start", bei dem die Browser-Instanz außerhalb der Funktion beibehalten wird.
LightpandaManager-Klasse außerhalb des Handlers.browser.createBrowserContext(), um die Sitzung zu isolieren, und geben Sie den Speicher sofort nach Abschluss der Aufgabe mit context.close() wieder frei.Allein die Vermeidung von Browser-Neustarts beschleunigt Ihr System um das 5-Fache.
Kombinieren Sie Lightpanda mit Chromium für komplexe SPAs, die sich nicht einfach lösen lassen. Überlassen Sie nicht alles der ressourcenintensiven Engine.
page.evaluate() nur das benötigte JSON.Sie können 90 % Ihres Workflows mit Lightpanda abwickeln und teure Ressourcen nur dann einsetzen, wenn sie wirklich benötigt werden.