关于Node做Socket连接池遇到垃圾回收的问题
由于我大规模使用长连接,对于node这种异步回调的东东,我需要使用连接池,但是我在项目中遇到一个很坑的问题,我在全局对象里面申请了一个对象,专门用来以key, value的方式保存连接池,然后我对这个对象进行维护,测试的时候发现,连接经常断开,也没有任何错误抛出,我监控了很长时间,认为是V8把连接池里面的连接GC掉了,因为我是用的Socket.io,按理说,如果我自己的连接池被清理掉了,socket.io这个插件维护的连接也不会断开,找不出原因,严重怀疑V8的元凶,可能是内存溢出了
7 回复
不知道,楼下的告诉你
你socket没做鉴权?直接就能连接上?
GC都造成STW了,难道eventloop还不变慢么。
global不会被回收