Open caihuiji opened 8 years ago
你好,具体问下,在海量PV下,axon 会内存溢出的具体原因是啥呢? 解决内存溢出,可不可以通过修改node 内存配置或者代码重构来解决, 而不是替换成zmq ? @caihuiji
简单说,zmq 是纯 C++ 实现的本身就比用 NodeJS 实现的 axon 性能要好,故在 PV 足够大的情况下,还是建议使用 zmq,而非 axon。
@CircleSmall node 本身在32位下的操作系统下面内存限制是 512M ,64位是 1024M。 分发数据性能肯定跟zmq 不能比的。 当数据量很多的情况下,建议升级c++ 实现的 zmq
badjs 的消息通信模块默认使用 axon ,其是 TJ 编写的 javascript 版本的zmq 。 虽然性能优越,但是限于 node 本身的内存有限制,在海量 PV 下面会存在NODE内存溢出的问题和消息延迟的问题。 我们建议上报的PV 在1000W 左右的,可以使用 zmq 替换axon ,其升级的方式如以下:
npm install zmq
, 最后修改各自下面的配置文( project.json) 中的 axon 替换为 zmq 即可。