nodejs app中的内存问题(Sailsjs)

时间:2018-01-09 19:00:43

标签: node.js sockets websocket sails.js polling

我们在Nodejs应用程序中存在内存问题! 我们用过:

Sailsjs作为框架

Mongodb作为数据库

Redis作为内存数据库

Pm2作为过程经理

我们也使用Sailsjs套接字模块进行套接字连接。

  • 我们使用pm2群集模式运行此应用程序。
  • nginx用于负载平衡和反向代理。

通常我们有3000个套接字连接。

传输是webSocket和轮询。 我们的一些客户端应用程序通过轮询连接到套接字服务器,其中一些使用websocket。

我们的主要问题是什么?

在群集模式下使用pm2运行应用程序后,首先每个群集使用230 MB的内存和 大约4个小时后它上升到大约2GB,实际上4小时后每个群集使用2 GB的内存,应用程序的性能和速度正在急剧下降!

我们怀疑内存泄漏并使用heapsnapshot并进行分析。

在所有变量中将“var”更改为“let”!

这是我们在bootstrap文件中的全局gc代码

setTimeout(function () {
if (global.gc) {
  global.gc()
}}, 4000);

但我们仍然找不到问题。 :(

如果您有解决问题的工具或解决方案,请告诉我们。

如果您需要更多信息,请在评论中提及,我将编辑问题。

感谢。

0 个答案:

没有答案