Node.js 如何调试NodeJS阻止的事件循环?

Node.js 如何调试NodeJS阻止的事件循环?,node.js,debugging,heroku,production-environment,event-loop,Node.js,Debugging,Heroku,Production Environment,Event Loop,我们有一个NodeJS/Express服务器正在生产环境中运行,偶尔,所有请求都会被阻止。web请求正在被接收,但未被处理(最终都超时)。几分钟后,它将再次开始接受请求,但随后几乎立即像以前一样开始阻塞 我们一直试图在本地重现该问题,但无法重现并确定原因。我的猜测是,事件循环被同步操作阻塞,该操作花费太长时间才能完成,或者根本没有完成 有没有什么方法可以调试实时生产系统并找出导致阻塞的原因?我搜索过,但只能找到当地发展的解决方案。我的最佳解决方案是回顾日志,查看最后一个未阻塞的请求在哪里完成(在

我们有一个NodeJS/Express服务器正在生产环境中运行,偶尔,所有请求都会被阻止。web请求正在被接收,但未被处理(最终都超时)。几分钟后,它将再次开始接受请求,但随后几乎立即像以前一样开始阻塞

我们一直试图在本地重现该问题,但无法重现并确定原因。我的猜测是,事件循环被同步操作阻塞,该操作花费太长时间才能完成,或者根本没有完成

有没有什么方法可以调试实时生产系统并找出导致阻塞的原因?我搜索过,但只能找到当地发展的解决方案。我的最佳解决方案是回顾日志,查看最后一个未阻塞的请求在哪里完成(在它开始阻塞之前),并调试它

使用节点6.2.2、Express 4.13.4并在Heroku上运行