【发布时间】:2018-08-07 01:27:29
【问题描述】:
我在 nodejs 中有一个带有 puppeteer 的抓取算法,它同时抓取 5 个页面,当它完成一个页面时,它会从队列中拉下一个 url 并在同一页面中打开它。 CPU 始终处于 100% 状态。如何让 puppeteer 使用更少的 cpu?
此进程在具有 4gb RAM 和 2 个 vCPU 的 digitaloceans 液滴上运行。
我用一些 args 启动了 puppeteer 实例,试图让它更轻,但什么也没发生
puppeteer.launch({
args: ['--no-sandbox', "--disable-accelerated-2d-canvas","--disable-gpu"],
headless: true,
});
我可以提供任何其他参数来减少 CPU 占用率吗?
我也阻止了图片加载
await page.setRequestInterception(true);
page.on('request', request => {
if (request.resourceType().toUpperCase() === 'IMAGE')
request.abort();
else
request.continue();
});
【问题讨论】:
-
这是我现在遇到的同样问题,也在 DigitalOcean 上。你有没有发现什么技巧来照顾它?
标签: node.js google-chrome cpu-usage headless puppeteer