Node.js应用程序在300多人的同时死亡

我有一个Node.js应用程序运行在数字海洋平均液滴上。 当超过300人同时访问它只是挂起。 起初我注意到它一次打开了1000个文件。 我已经将一堆静态图像移到Amazon S3来帮助解决这个问题,并且在ulimit中加了一个限制(临时修复来阻止服务器完全死亡)。 我联系了Digital Ocean,他们说服务器应该能够处理stream量。

只是想知道我应该采取什么步骤来弄清楚为什么会发生这种情况。

有些事情我可能做错了:

  • 我仍然在服务于节点服务器的一些静态文件。 我打算把这个降到最低。
  • 我没有一个反向代理设置(nginx,haproxy等)。
  • 数据库与node.js应用程序在同一台服务器上运行。

如果您要我提供任何其他信息,请询问。 我很乐意这样做。

  1. 如果你正在提供静态的东西,把它交给nginx来处理@codephobia提到的东西
  2. 寻找有同步的任何function,看看你是否可以删除它
  3. 你closures文件stream? closures我的头顶,节点有255个打开的文件处理,你可能会用完这些。

没有看它,我忍不住。 先生的下一步是获得一个新的遗物帐户,并将其集成到您的网站开始logging问题,并深入到底部。