excessive?
you are going from a scheme where packets go out in bulk asynchronously,
to a scheme where a single packet goes out, a process needs to woken up,
processes a single packet, and then send a single packet, and then wake up the 
sending process.
i think you're lucky to get 1k/s.

a. no. it seems silly from a programming perspective.

b. if you want efficiency, then do bulk asynchronous acknowledgements via 
another socket.

On Sep 18, 2012, at 9:57 PM, Maninder Batth wrote:

> 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


------------------
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

Reply via email to