我在 debian 服务器上使用 pm2 来管理我的 Node js 应用程序。 Pm2 接收来自 nginx 反向代理的请求。
在“高负载”期间,请求似乎已发送到 pm2 但未处理 - 我的节点应用程序没有收到它们
我可以在 pm2 日志中看到的日志示例(我使用 morgan :method :host :url :status :response-time ms - :res[content-length])
发布域路径 - - ms - -
发布域路径2 - - ms - -
看来pm2自己关闭了连接。
在这些负载期间,CPU 并未达到 100%,并且有大量可用内存(8 个工作人员使用 500mb,其中 32go 内存可用)。
还有大量可用磁盘,网络接口甚至没有达到 20%。
不知道从哪里调查...
使用
pm2 list
检查您的申请状态。特别验证正常运行时间列,看看您的进程是否已重新启动。
我的进程已重新启动,这告诉您您的 Node.js 应用程序中存在错误,导致进程重新启动。然后,检查您进程的 PM2 错误日志。它会告诉你出了什么问题。