[zeromq-dev] TCP zeromq performance review

Rohan Bedarkar r_bedarkar at yahoo.com
Mon Oct 22 22:59:30 CEST 2012

Hi Chuck and Pieter

I ran the ZMQ perf tests and also made changes to my own tests. Here's the outputs. My numbers match the perf tests. 

Doesn't it seem a little too slow, 40 us for one way tcp message?
ZMQ Latency Test:

./remote_lat tcp:// 10 10000
message size: 10 [B]
roundtrip count: 10000
average latency: 43.045 [us]

ZMQ Throughput Tests

./local_thr tcp://eth0:20000 10 1000000

Total time: 308 [ms]
message size: 10 [B]
message count: 1000000
mean throughput: 3244646 [msg/s]
mean throughput: 259.572 [Mb/s]

My Throughput Test: 

 Transport:                     ZMQ

 Messages recd:      1000000
 Total Time:                    721174 us   
 Throughput:                    166.395 Mbps 
 Avg per msg:                   0.721174 us                                                            

My Latency Test:

 Transport:                     ZMQ

 Messages sent:            10000
 Average / message:        40.2781 us   
 Max time:                      65 us   
 Min time:                      14 us   



Rohan Bedarkar
MS, Computer Science 

University of Chicago
rohanb at cs.uchicago.edu


 From: Chuck Remes <lists at chuckremes.com>
To: Rohan Bedarkar <r_bedarkar at yahoo.com>; ZeroMQ development list <zeromq-dev at lists.zeromq.org> 
Sent: Friday, October 19, 2012 4:49 PM
Subject: Re: [zeromq-dev] TCP zeromq performance review

Try it again with the example program local_thr and remote_thr and see if the results match using the same inputs.

BTW, it looks reasonable to me. I have a similar machine (it's about 4 years old) and get around 55 usec latency as an average. Throughput is usually a bit higher especially for loopback.


On Oct 19, 2012, at 4:28 PM, Rohan Bedarkar wrote:

Hi Guys,
>I've built a performance monitoring framework in C++ over OpenSuse Linux. Its a pretty solid machine with 16 cores. 
>The application publishes TCP messages in one thread and subscribes to them in another. Each message is roughly 10 bytes. Here's the output.
>Just want to run by these numbers.. What do you think?
>Bound TCP server to port tcp://*:20000
>Sending 1000000 msgs
>Received all messages
>Analyzing 1000000 msgs..
>             Performance Report                          
> Transport:                     ZMQ
> Messages sent:                1e+06
> Total Time:                    1004.05 ms   
> Average / message:          65.1254 us   
> Max time:                      5347 us   
> Min time:                      8.00014 us   
> Throughput:                    119.515 Mbps 

zeromq-dev mailing list
zeromq-dev at lists.zeromq.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20121022/08100018/attachment.htm>

More information about the zeromq-dev mailing list