如何调试导致 100% CPU 使用率的 Nodejs



我有一个节点应用程序,它使用express并从mongodb和弹性搜索中获取数据。在我们的生产服务器上,一段时间后,它开始 100% 使用 CPU,这使得应用程序无响应,我们不得不终止该进程以使系统空闲。

我认为有一定的查询(代码)导致了这个问题。调试此类问题的最新做法是什么?

使用以下方法启动应用:

node --prof app.js

它将在当前目录中转储一个tick文件。使用该应用程序,以便探查器可以收集一些数据。然后停止应用程序,并分析刻度文件:

node --prof-process tick_file.log

这将为您提供所有调用的细分,您可以找出哪些功能占用了该过程。(请注意,第二个命令可能需要一些时间。

最新更新