我的节点应用程序存在一些问题,并且在我的EC2服务器上运行几个小时后速度变慢。
我的应用程序使用puppeteer,bull和mongodb,我有一个我的应用程序读取来处理的公牛队列,一旦作业完成它然后将结果写入mongodb,所以此过程一直运行直到队列完成(7000个作业) 。当我启动应用程序时,木偶操作员需要大约5-10秒才能返回结果,过程运行的时间越长,得到的速度越慢,大约2-3小时后开始运行30-50秒。如果我停止并开始该过程,作业将返回到最初的5-10秒速度,持续10分钟,直到返回到30-50秒。
我已经检查了内存,它似乎没有使用过多的内存,它始终保持在同一级别。我也检查了CPU,我认为它没有遇到任何问题。
关于还有什么可能导致插槽下降的任何想法?我注意到应用程序启动时nodejs循环延迟是几小时后的0.5ms,大约在1-2ms范围内。什么是最好的调试方法?
非常感谢您的帮助。
由于
答案 0 :(得分:0)
如果您还没有,则需要关闭并重新打开每个会话的浏览器。这是一个棘手的尝试,可能很难管理,因为你需要知道木偶的一些内部工作,以确保一切都“正确”。我维护一个docker image here,以及生成Chrome per-session is here的简洁实例的代码。