A difference of 110K to 1k a second seems excessive. But i am not saying it is wrong or right. I am just wondering
a. Am i doing something silly from api usage perspective b. If someone has similar experience, (one way burst, vs send, recieve ack and then send next message), maybe they can share their numbers or validate similar behavior. On Tue, Sep 18, 2012 at 10:26 PM, Andrew Hume <[email protected]>wrote: > why would you expect different? > REQ/REP involves a synchronous repsonse so there is no opportunity to do > anything fast. > > On Sep 18, 2012, at 8:21 PM, Maninder Batth wrote: > > Paul, > With messages being sent one way, via pub and sub sockets, i am getting a > very decent performance. About 80% of our network gets saturated. > The code is zserver.cpp and zclient.cpp > > But if i configure the software such that client only sends the next > message, after it has received a response from the server, the throughput > is really bad. > The code is zserver-ack1.cpp and zclient-ack1.cpp > The difference is that in the former case, i can get 110k messages per > second , whereas in the latter case, i can only get 1k messages per second. > The sockets that i use in latter case are of type REQ and REP. Am i using > wrong sockets type ? > > > > On Tue, Sep 18, 2012 at 9:38 PM, Maninder Batth > <[email protected]>wrote: > >> Paul, >> Thank you again for your help. Now with message copying, i am getting a >> throughput of .8Gb, which is what i would have expected on a 1Gb network. >> >> >> On Tue, Sep 18, 2012 at 4:20 PM, Paul Colomiets <[email protected]>wrote: >> >>> Hi Maninder, >>> >>> On Tue, Sep 18, 2012 at 10:21 PM, Maninder Batth >>> <[email protected]> wrote: >>> > Paul, >>> > Here is number of messages as seen by the server in one second. Each >>> message >>> > is 1024 byte excluding tcp/ip and zmq headers. Based on these numbers >>> and i >>> > am getting a throughput of 1.4 Gb/sec. >>> > Enclosed is the source code for the server and the client. >>> > >>> >>> Zeromq closes the message after sending. So you effectively send >>> messages of the zero length after first one. You should use >>> zmq_msg_copy (or whatever C++ API is there) before doing send() in >>> case you want to reuse message. >>> >>> -- >>> Paul >>> _______________________________________________ >>> zeromq-dev mailing list >>> [email protected] >>> http://lists.zeromq.org/mailman/listinfo/zeromq-dev >>> >> >> > <zclient.cpp><zclient-ack1.cpp><zserver.cpp><zserver-ack1.cpp> > _______________________________________________ > > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > > > > ------------------ > Andrew Hume (best -> Telework) +1 623-551-2845 > [email protected] (Work) +1 973-236-2014 > AT&T Labs - Research; member of USENIX and LOPSA > > > > > > _______________________________________________ > zeromq-dev mailing list > [email protected] > http://lists.zeromq.org/mailman/listinfo/zeromq-dev > >
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
