nodejs服务器不时挂起

我有一台运行Express应用程序的节点服务器(0.6.6),以及Ubuntu 11.04机器上的Mongoose和s3。

每小时几次,服务器挂起。 这意味着应用程序工作正常,我看到快速login,然后突然服务器停止响应。 没有错误,没有痕迹,没有login,奇怪的是浏览器即使在networkingdebugging窗口也不会显示请求。 从本地networking中的任何一台机器上,都是一样的行为。 我重新启动服务器,并再次好几分钟,然后再次开始挂起,每一次做一些不同的事情。

亚马逊在同一个Ubuntu版本上的相同的应用程序工作正常,永远不会挂起。

我知道这一切都是模糊的,但我不知道从哪里开始。 你有没有看过这样的事情? 任何想法?

所以,我发现有两个原因,即使是他们自己造成的描述行为。

  1. pipe道到日志进程。 在我的暴发户脚本中,我有一行像exec su nodejs node /home/nodejs/server.js | /home/nodejs/logger.js exec su nodejs node /home/nodejs/server.js | /home/nodejs/logger.js这将使upstart守护进程监督logging过程,而不是服务器。 因此,一个崩溃的服务器将不被注意,似乎停滞不前。 (相反,可以使用<<<从右到左pipe道)

  2. process.on('uncaughtException', ...)可以使一个节点的应用程序挂起。 我想我已经使用的模块之一有一个debugging模式,启用该事件。