Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

千万PV 之 badjs 升级 #15

Open
caihuiji opened this issue Jun 6, 2016 · 3 comments
Open

千万PV 之 badjs 升级 #15

caihuiji opened this issue Jun 6, 2016 · 3 comments

Comments

@caihuiji
Copy link
Member

caihuiji commented Jun 6, 2016

badjs 的消息通信模块默认使用 axon ,其是 TJ 编写的 javascript 版本的zmq 。
虽然性能优越,但是限于 node 本身的内存有限制,在海量 PV 下面会存在NODE内存溢出的问题消息延迟的问题
我们建议上报的PV 在1000W 左右的,可以使用 zmq 替换axon ,其升级的方式如以下:

  1. 首先用户要下载和安装 zmq ,参见这里 #1
  2. 完成安装后,即可将 badjs-acceptor , badjs-mq , badjs-web , badjs-storage 下分别 npm install zmq, 最后修改各自下面的配置文( project.json) 中的 axon 替换为 zmq 即可。
@caihuiji caihuiji changed the title 百万PV 升级 百万PV 之 badjs 升级 Jun 6, 2016
@caihuiji caihuiji changed the title 百万PV 之 badjs 升级 千万PV 之 badjs 升级 Jul 28, 2016
@CircleSmall
Copy link

你好,具体问下,在海量PV下,axon 会内存溢出的具体原因是啥呢? 解决内存溢出,可不可以通过修改node 内存配置或者代码重构来解决, 而不是替换成zmq ? @caihuiji

@miniflycn
Copy link
Member

简单说,zmq 是纯 C++ 实现的本身就比用 NodeJS 实现的 axon 性能要好,故在 PV 足够大的情况下,还是建议使用 zmq,而非 axon。

@caihuiji
Copy link
Member Author

@CircleSmall node 本身在32位下的操作系统下面内存限制是 512M ,64位是 1024M。 分发数据性能肯定跟zmq 不能比的。 当数据量很多的情况下,建议升级c++ 实现的 zmq

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants