Puppeteer--性能优化

1.关于共享内存
Chrome 默认使用 /dev/shm 共享内存,但是 docker 默认/dev/shm 只有64MB,显然是不够使用的,提供两种方式来解决:
1.启动 docker 时添加参数 --shm-size=1gb 来增大 /dev/shm 共享内存,但是 swarm 目前不支持 shm-size 参数
2.启动 Chrome 添加参数 - disable-dev-shm-usage,禁止使用 /dev/shm 共享内存
 
2.尽量使用同一个浏览器实例,这样可以实现缓存共用
3.通过请求拦截没必要加载的资源
4.像我们自己打开 Chrome 一样,tab 页多必然会卡,所以必须有效控制 tab 页个数
5.一个 Chrome 实例启动时间长了难免会出现内存泄漏,页面奔溃等现象,所以定时重启 Chrome 实例是有必要的
6.为了加快性能,关闭没必要的配置,比如:-no-sandbox(沙箱功能),--disable-extensions(扩展程序)等
7.因为和 Chrome 实例连接时使用的 Websocket,会存在 Websocket sticky session 问题,这个需要特别注意
 
 
 

原文地址:https://www.cnblogs.com/absoluteli/p/14295456.html