Como reduzir os custos do Puppeteer em 70% com o 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
No ambiente serverless, o Puppeteer é uma dor de cabeça. Ele consome uma quantidade enorme de memória e a inicialização é lenta. Essa é uma das razões pelas quais os custos operacionais do AWS Lambda ou Google Cloud Functions disparam. O Lightpanda, criado com a linguagem Zig, é diferente. Esta ferramenta aumenta a velocidade de execução inicial em 30 vezes e reduz o uso de memória em 10 vezes.
As taxas do serverless são proporcionais à alocação de memória e ao tempo de execução. O motor Chromium gasta 4,5 segundos apenas para carregar a primeira página, processando renderização de fontes e configurações de GPU, que não são relacionadas à coleta de dados. Por outro lado, o Lightpanda termina em 0,4 segundos. Ao processar 100 páginas em paralelo, o Chromium ocupa 4,2 GB de memória, enquanto o Lightpanda precisa de apenas 410 MB. Com essa diferença, você pode reduzir a configuração de memória do Lambda de 1024 MB para 256 MB e economizar 70% nos custos operacionais imediatamente.
Não é necessário reescrever todo o seu código Puppeteer existente. Usando o padrão Adapter, você pode trocar o motor alterando apenas as variáveis de ambiente.
puppeteer-core.puppeteer.launch() tradicional, escreva uma função que chame puppeteer.connect({ browserWSEndpoint: 'ws://127.0.0.1:9222' }).docker run -d -p 9222:9222 lightpanda/browser:nightly localmente para subir o servidor Lightpanda e testar se o seu código funciona normalmente.Essa abordagem é segura, pois permite reverter imediatamente para o ambiente Chromium original caso surja algum problema.
Reiniciar o navegador a cada vez só gera custos. Aplique o método Warm Start, mantendo a instância do navegador fora da função.
LightpandaManager fora do manipulador (handler).browser.createBrowserContext() para cada requisição para isolar a sessão e, assim que o trabalho terminar, recupere a memória imediatamente com context.close().Simplesmente reduzindo as reinicializações do navegador, a velocidade de processamento do seu sistema ficará 5 vezes mais rápida.
Para SPAs complexas que são difíceis de resolver com o Lightpanda, misture o uso com o Chromium. Não confie todas as tarefas ao motor pesado.
page.evaluate().Você pode processar 90% do seu fluxo de trabalho com o Lightpanda e usar os recursos de alto custo apenas quando realmente necessário.