2011-12-19 8 views
2

ここではZeroMQで指定したperfテストと同様のプルプッシュメカニズムを使用しています。 〜/ W /ソフトウェア/爆発/ zeromq-2.1:メッセージ4.3キロバイトのサイズ100,000個のメッセージ私はヴィカス・ノートPC @ 85K MSG /秒ZeroMQ、Scalaバインディングはそれを大幅に遅くします

ヴィカスのパフォーマンスを得るとスループットテストのためにhttp://www.zeromq.org/results:perf-howto

。 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

要旨間違って何をして起こっていますか?

答えて

2

0MQスループットをテストする場合は、意味のある数字を得るために少し注意する必要があります。

まず、十分なコアを持つマシン、または高速ネットワーク上の2台のマシンを使用します。

第2に、実際にテストケースに数秒間ストレスを感じるのに十分なメッセージを送信します。 100Kが少なすぎると、おそらく1Mが良いでしょう。

第3に、異なるメッセージサイズでテストし、異なる操作の影響を確認します。 1バイトのメッセージを使用して、言語API(Scala)のコストをテストします。 100バイトのメッセージを使用して、I/Oのコストをテストします。 1Kメッセージを使用して、メモリコピーのコストをテストします。通常、曲線が表示されます。

+0

ありがとうございました。私が投稿した要点はちょうど1つのシナリオですが、提案したとおり、メッセージサイズとメッセージ数のさまざまな組み合わせを試しました。数字はperfテストで得られるもののどこにもありません。私はViktorによって提案されたように変更を加えました。メールスレッドはこちらhttps://groups.google.com/forum/#!searchin/scala-user/zeromq$20scala$20binding/scala-user/EKPxFTuWq7o/_UCcY9mh0zwJまだありません私たちが期待していたものに近い改善です。 –

+0

https://groups.google.com/d/topic/scala-user/EKPxFTuWq7o/discussion –

関連する問題