【问题标题】:ZeroMQ, Does Scala Binding slow it down considerablyZeroMQ,Scala 绑定是否会大大减慢它
【发布时间】:2011-12-21 00:38:35
【问题描述】:

我们正在使用类似于此处为 ZeroMQ 指定的性能测试的拉推机制。 http://www.zeromq.org/results:perf-howto

对于消息大小为 4.3KB 和 100,000 条消息的吞吐量测试,我获得了 85K msg/sec 的性能

vikas@vikas-laptop:~/w/software/exploded/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/sec。

在这里https://gist.github.com/1496406

出了什么问题?

【问题讨论】:

    标签: scala zeromq


    【解决方案1】:

    在测试 0MQ 吞吐量时,您需要注意获得有意义的数字。

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

    其次,发送足够的消息以实际对测试用例施加几秒钟的压力。 100K太少了,可能1M会更好。

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

    【讨论】:

    • 感谢 Pieter 的回复,我发布的要点只是一种情况,但正如您建议的那样,我们尝试了消息大小和消息数量的各种组合。这些数字与我们通过性能测试得到的数字相去甚远。我按照 Viktor 的建议进行了更改,请参阅此处的邮件线程 groups.google.com/forum/#!searchin/scala-user/… 仍然没有接近我们预期的改进。
    猜你喜欢
    • 2014-12-31
    • 1970-01-01
    • 2016-12-14
    • 2018-10-09
    • 1970-01-01
    • 2015-05-14
    • 2023-03-29
    • 2015-09-10
    • 2020-12-07
    相关资源
    最近更新 更多