2011-12-19 55 views
2

我们正在使用类似于此处为ZeroMQ指定的性能测试的拉推机制。 http://www.zeromq.org/results:perf-howtoZeroMQ,Scala绑定是否会显着减慢

对于4.3KB的邮件大小的吞吐量测试和100,000条消息,我得到85K味精的性能/秒

维卡斯@维卡斯 - 笔记本电脑:〜/ W /软件/爆炸/ zeromq-2.1。 10/PERF $ local_thr TCP://127.0.0.1:5555 4300 100000 消息大小:4300 [B] 消息计数:100000 平均吞吐量:85203 [MSG /秒] 平均吞吐量:2930.983 [Mb/s的]

但是,使用Scala中的代码并使用Scala绑定0.0.3,我得到的速度低于15K msg/sec。

吉斯特这里https://gist.github.com/1496406

到底哪里出问题了?

回答

2

在测试0MQ吞吐量时,您需要小心谨慎地获取有意义的数字。

首先,在快速网络上使用具有足够内核或两台机器的机器。

其次,发送足够的消息来实际强调测试用例几秒钟。 100K太少了,可能1M会更好。

三,测试不同消息的大小以查看不同操作的影响。使用1字节的消息来测试语言API(Scala)的成本。使用100字节的消息来测试I/O的成本。使用1K消息来测试内存复制的成本。你通常会看到一条曲线。

+0

感谢Pieter的回复,我发布的要点只是一个场景,但正如您所建议的,我们尝试了各种消息大小和消息数量的组合。这些数字远不及我们通过性能测试所得到的结果。我按照Viktor的建议进行了更改,请参阅https://groups.google.com/forum/#!searchin/scala-user/zeromq$20scala$20binding/scala-user/EKPxFTuWq7o/_UCCY9mh0zwJ中的邮件主题。接近我们预期的改善。 – 2011-12-29 08:09:03

+0

https://groups.google.com/d/topic/scala-user/EKPxFTuWq7o/discussion – 2011-12-29 08:23:13