[zeromq-dev] zmq performance (send / recieve)

Bruno D. Rodrigues bruno.rodrigues at litux.org
Fri Jan 3 14:32:25 CET 2014


Try out my fork, which is the same code but with a tweaked perf's local_thr, remote_thr and proxy

https://github.com/davipt/libzmq/tree/fix-002-proxy_lat_thr

First try the original throughput test, using push-pull. My results on a MacBook Pro (on Linux it’s much better btw):

idavi:perf bruno$ ./local_thr tcp://127.0.0.1:5555 1000 1000000 &
[1] 21468
idavi:perf bruno$ local_thr bind-to=tcp://127.0.0.1:5555 message-size=1000 message-count=1000000 type=0 check=0 connect=0

idavi:perf bruno$  time ./remote_thr tcp://127.0.0.1:5555 1000 1000000 &
[2] 21482
idavi:perf bruno$ remote_thr connect-to=tcp://127.0.0.1:5555 message-size=1000 message-count=1000000 type=0 check=0

message size: 1000 [B]
message count: 1000000
elapsed time: 2723.111 [ms]
mean throughput: 367227 [msg/s]
mean throughput: 2937.816 [Mb/s]

real	0m2.750s
user	0m0.812s
sys	0m2.087s


and then test the pub-sub version:

idavi:perf bruno$ ./local_thr tcp://127.0.0.1:5555 1000 1000000 1 &
[1] 21504
idavi:perf bruno$ local_thr bind-to=tcp://127.0.0.1:5555 message-size=1000 message-count=1000000 type=1 check=0 connect=0

idavi:perf bruno$  time ./remote_thr tcp://127.0.0.1:5555 1000 1000000 1 &
[2] 21518
idavi:perf bruno$ remote_thr connect-to=tcp://127.0.0.1:5555 message-size=1000 message-count=1000000 type=1 check=0

message size: 1000 [B]
message count: 1000000
elapsed time: 2363.422 [ms]
mean throughput: 423115 [msg/s]
mean throughput: 3384.920 [Mb/s]

real	0m3.402s
user	0m0.989s
sys	0m2.187s

 
On Jan 3, 2014, at 0:55, Cheng, Yi <yi.cheng at hp.com> wrote:

> Hi:
>  
> I am trying to squeeze zmq to extreme.
>  
> I am using pub / sub model, in my test I have only 1 pub, and 1 sub.
>  
>  
> The result I see is that pub/sender (800Mbps) is faster than sub/receiver (480Mbps).
>  
> Does that mean the sub/receiver is the bottle neck already?
> 1.       I have tried big message size 1000bytes, and small message size 50bytes, looks like 480Mbps is optimal.
> 2.       I have tried ZMQ_DONTWAIT, looks no improvement.
> 3.       I have read the perf test which is using pull and push, I have tried that as well, similar number I get. (I tried that test, it tells big number, but that is not continuous test.)
> 4.       I have tried multi-thread in the client to read, but that is not helpful.
> 5.       I have tried both on the same machine and on different machines, similar figure.
>  
> Is there any suggestions to improve? I think there is big space to improve. I am looking at 10 times more performance.
>  
> Attached are my files. I am using libconfuse for configuration reading.
>  
>  
> Appreciation for help.
>  
> Cheng Yi
> <src.zip>_______________________________________________
> zeromq-dev mailing list
> zeromq-dev at lists.zeromq.org
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140103/ccd39ca8/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 235 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20140103/ccd39ca8/attachment.sig>


More information about the zeromq-dev mailing list