Cómo reducir los costes de Puppeteer en un 70% cambiando a Lightpanda
28 avril 2026
0
Computing/SoftwareComments (0)
Log in to leave a comment
No posts yet
Log in to leave a comment
No posts yet
En entornos serverless, Puppeteer es un verdadero quebradero de cabeza. Consume una cantidad ingente de memoria y su inicialización es lenta. Es una de las razones por las que los costes operativos en AWS Lambda o Google Cloud Functions se disparan. Lightpanda, creado con el lenguaje Zig, es diferente. Esta herramienta aumenta la velocidad de ejecución inicial en 30 veces y reduce el uso de memoria en 10 veces.
Las tarifas de serverless son proporcionales a la cuota de memoria asignada y al tiempo de ejecución. El motor Chromium emplea 4.5 segundos solo en cargar la primera página, procesando fuentes, configuraciones de GPU y otros elementos irrelevantes para la recopilación de datos. Por otro lado, Lightpanda lo logra en 0.4 segundos. Al procesar 100 páginas en paralelo, Chromium ocupa 4.2GB de memoria, mientras que a Lightpanda le bastan 410MB. Solo con esta diferencia, puede reducir la configuración de memoria de Lambda de 1024MB a 256MB y ahorrar inmediatamente el 70% de los costes operativos.
No es necesario reescribir todo el código existente de Puppeteer. Utilizando el patrón Adapter, puede cambiar el motor simplemente modificando las variables de entorno.
puppeteer-core.puppeteer.connect({ browserWSEndpoint: 'ws://127.0.0.1:9222' }) en lugar del puppeteer.launch() tradicional.docker run -d -p 9222:9222 lightpanda/browser:nightly localmente para levantar el servidor Lightpanda y probar si el código funciona correctamente.Este método es seguro, ya que permite volver al entorno de Chromium original inmediatamente si surge algún problema.
Reiniciar el navegador cada vez solo genera costes innecesarios. Implemente un método de "Warm Start" manteniendo la instancia del navegador fuera de la función.
LightpandaManager fuera del manejador (handler).browser.createBrowserContext() para cada solicitud para aislar la sesión y, una vez finalizado el trabajo, recupere la memoria inmediatamente con context.close().Simplemente reducir los reinicios del navegador hará que la velocidad de procesamiento del sistema sea 5 veces más rápida.
Para las SPA complejas que son difíciles de manejar con Lightpanda, utilice una combinación con Chromium. No deje todo en manos de un motor pesado.
page.evaluate().Puede procesar el 90% de su flujo de trabajo con Lightpanda y utilizar los recursos de alto coste solo cuando sea indispensable.