请教关于socket.io不释放内存的问题
发布于 1年前 作者 wglin122 1174 次浏览

小弟最近要在做一个实时聊天系统,大概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)); });

@wglin122

ps 看不科学的…可能只是有memory pool 才不 实际 free… blacktail 说的 disconnect 不释放引用也是可能

哥们儿, 现在这个问题解决了么?

回到顶部