我们在Nodejs应用程序中存在内存问题! 我们用过:
Sailsjs作为框架
Mongodb作为数据库
Redis作为内存数据库
Pm2作为过程经理
我们也使用Sailsjs套接字模块进行套接字连接。
通常我们有3000个套接字连接。
传输是webSocket和轮询。 我们的一些客户端应用程序通过轮询连接到套接字服务器,其中一些使用websocket。
我们的主要问题是什么?
在群集模式下使用pm2运行应用程序后,首先每个群集使用230 MB的内存和 大约4个小时后它上升到大约2GB,实际上4小时后每个群集使用2 GB的内存,应用程序的性能和速度正在急剧下降!
我们怀疑内存泄漏并使用heapsnapshot并进行分析。
在所有变量中将“var”更改为“let”!
这是我们在bootstrap文件中的全局gc代码
setTimeout(function () {
if (global.gc) {
global.gc()
}}, 4000);
但我们仍然找不到问题。 :(
如果您有解决问题的工具或解决方案,请告诉我们。
如果您需要更多信息,请在评论中提及,我将编辑问题。
感谢。