大佬教程收集整理的这篇文章主要介绍了javascript – ZeroMQ的预期表现是什么?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
请求者:
# requester.coffee zmq = require 'zmq' context = new zmq.Context() socket = zmq.socket 'req' socket.bind 'tcp://127.0.0.1:5555',( error ) => throw error if error? console.log 'requesTing writer bound to port 5555' seTinterval ( -> socket.send 'Helo world' ),1 response_count = 0 t0 = new Date() / 1000 socket.on 'message',( message ) -> response_count += 1 # x = message.toString 'utf-8' if response_count % 1000 is 0 t1 = new Date() / 1000 console.log "received #{ parseInt response_count / ( t1 - t0 ) + 0.5 } messages per second" response_count = 0 t0 = new Date() / 1000
答复者:
# responder.coffee zmq = require 'zmq' context = new zmq.Context() socket = zmq.socket 'rep' socket.connect 'tcp://127.0.0.1:5555' console.log 'Responder bound to port 5555' process.stdin.resume() request_count = 0 t0 = new Date() / 1000 socket.on 'message',( message ) -> request_count += 1 # message = message.toString 'utf-8' # console.log message socket.send 'Helo BACk' if request_count % 1000 is 0 t1 = new Date() / 1000 console.log "received #{ parseInt request_count / ( t1 - t0 ) + 0.5 } messages per second" request_count = 0 t0 = new Date() / 1000
现在,当我在ubuntu(11.10,8GB,Intel Duo Core 3GHz,NodeJS 0.8.6)机器的单独终端窗口中运行它时,我得到以下输出:
received 135 messages per second received 6369 messages per second received 6849 messages per second received 6944 messages per second received 7042 messages per second received 7143 messages per second received 5952 messages per second received 2967 messages per second received 914 messages per second received 912 messages per second received 928 messages per second received 919 messages per second received 947 messages per second received 906 messages per second received 918 messages per second received 929 messages per second received 916 messages per second received 917 messages per second received 916 messages per second received 928 messages per second
其中(1)看起来有点像在几秒钟后传输通道有一些饱和; (2)感觉不够快.根据this benchmark,我应该是每秒几十万个,而不是几千个消息,这是this discussion(“ZeroMQ:接收10,000个消息大约需要15毫秒”).
我也试图使用python 3编写的回复者,并得到完全相同的数字.此外,我写了一个替代的脚本,主进程将产生一个子进程,并通过stdout / stdin进行通信;我每秒获得大约750条消息(当我增加消息长度时,我看不到太多的差异),这与zeromq实验中的相同的一个ballpark.
这些数字是否预期?这里有什么限制因素?
@H_944_20@此外,请求/响应模型是同步的.请求进入套接字并阻塞,直到给出响应.随着响应,下一个请求被处理和阻止.
我将请求者脚本从socket = zmq.socket’req’更改为socket = zmq.socket’push’和seTinterval( – > socket.send’Helo world’),0更改为socket.send’Helo world’,而True.然后我将响应者脚本socket = zmq.socket’rep’更改为socket = zmq.socket’pull’并得到此输出
$coffee responder.coffee Responder bound to port 5555 received 282 messages per second received 333357 messages per second received 249988 messages per second received 333331 messages per second received 250003 messages per second received 333331 messages per second received 333331 messages per second received 333331 messages per second ...
请求者没有输出,因为它在while循环中阻塞,但它确实证明了ØMQ可以获得更好的性能.
@H_944_20@ @H_944_20@以上是大佬教程为你收集整理的javascript – ZeroMQ的预期表现是什么?全部内容,希望文章能够帮你解决javascript – ZeroMQ的预期表现是什么?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。