使用场景:后端获取实时的图片数据 推送给前端 一帧一帧显示 出现问题:只有一个连接数的时候 提交正常 当连接数 增加到10个左右的时候 内存开始上涨 用调试工具分析了一下 不知道怎么定位数据
这是重现代码 https://github.com/yh4922/ws_memory_demo
不知道如何下手
使用场景:后端获取实时的图片数据 推送给前端 一帧一帧显示 出现问题:只有一个连接数的时候 提交正常 当连接数 增加到10个左右的时候 内存开始上涨 用调试工具分析了一下 不知道怎么定位数据
这是重现代码 https://github.com/yh4922/ws_memory_demo
不知道如何下手
@yh4922 这是我开源的 Node.js 性能监控解决方案,详情参见:https://zhuanlan.zhihu.com/p/147576798
欢迎使用哦,有问题可以加钉钉群 35149528 咨询
@hyj1991 感谢大佬
我修改成 客户端收到消息 回复一个确认给服务端 服务端在进行下一次推送 不知会不会好一下
另外 大佬 你的这个检测工具是啥呀
所以 broadcast 到所有 ws client 的频率你得做下限制
你的测试代码是 ws.send 太频繁了,而且 ws 对超过 128k 的包会自动分片,导致你的 node demo 里全部堵在 ws.send 上(之前的 ws.send 处于 pending 状态,新的 ws.send 会将内容存到 bufferedRequest.next 属性上层层挂载),最后导致 socket rss 积压:
另外从 cpuprofile 也能看出来这个问题: