请教关于socket.io不释放内存的问题
小弟最近要在做一个实时聊天系统,大概10W人同时在线。 用nodejs+socket.io实现,主要负责消息广播。 测试过程发现一个问题,断开连接和广播消息后,server都不释放内存。 请教一下这个问题如何解决。
5 回复
10W 人 … ‘W’ 是万? 怎么看出 server memory leak 的.难道有直接的工具看 v8 memory 使用?
直接ps看 内存只增不减
你是否有在disconnect时释放内存? 比如这里一个典型的代码块可能是这样:
socket.on(‘disconnect’, function () { console.log(‘DISCONNECTED!!!’); delete sockets[chanel][socket.id];
broadcast(‘user:changed’, chanel, getChanelUsers(chanel)); });
ps 看不科学的…可能只是有memory pool 才不 实际 free… blacktail 说的 disconnect 不释放引用也是可能
哥们儿, 现在这个问题解决了么?