Nodejs进程在一段时间后没有响应。

问题描述 投票:1回答:1

我正在测试 node-webrtc 我在16核CPU和32GB内存上启动了pm2进程,一段时间后节点进程停止响应,Url返回无法到达,视频流停止。

我注意到的是

1) 每次它都在内存消耗3.5 GB,CPU 900%时停止,但我试图将旧的内存大小增加到24 GB,然后在达到9 GB内存和1100 cpu后随机失败。

2) 在pm2日志中,我发现

"(node:3397) MaxListenersExceededWarning: 检测到可能的EventEmitter内存泄漏。添加了11个newBroadcast监听器,使用emitter.setMaxListeners()增加限制。使用 emitter.setMaxListeners()来增加限制",但是这个警告之后进程一直在运行。

A) 不确定这是内存泄漏的问题?

B) cpu 消耗(1600%中的900%),因为我知道节点是单线程进程,所以是否有任何机会将线程分配给主节点进程达到其峰值?

请给我任何建议,我如何能调试它。

当时的并发用户数在110-120左右。

node.js express webrtc
1个回答
1
投票

问题是服务器的出站带宽.服务器有最大的上行速度128 MBs (~1 Gbps)和流消耗最大的允许带宽,之后连接到服务器就无法到达...... 通过将我们的服务器换成500 MBs带宽来解决。

© www.soinside.com 2019 - 2024. All rights reserved.