我们正在使用类似于此处为ZeroMQ指定的perf测试的拉推机制。 http://www.zeromq.org/results:perf-howto
对于消息大小为4.3KB和100,000条消息的吞吐量测试,我的性能为85K msg / sec
vikas @ vikas-laptop:〜/ w / software / explosion / zeromq-2.1.10 / perf $ local_thr tcp://127.0.0.1:5555 4300 100000 邮件大小:4300 [B] 消息数:100000 平均吞吐量:85203 [msg / s] 平均吞吐量:2930.983 [Mb / s]
然而,使用Scala中的代码并使用Scala绑定0.0.3,我得到的信息小于15K msg /秒。
请点击https://gist.github.com/1496406
出了什么问题?
答案 0 :(得分:2)
在测试0MQ吞吐量时,您需要小心谨慎才能获得有意义的数据。
首先,使用具有足够内核的计算机或快速网络上的两台计算机。
其次,发送足够的消息以实际强调测试用例几秒钟。 100K太少了,可能1M会更好。
第三,使用不同的消息大小进行测试,以查看不同操作的影响。使用1字节消息来测试语言API(Scala)的成本。使用100字节的消息来测试I / O的成本。使用1K消息来测试内存复制的成本。你通常会看到一条曲线。