[prev in list] [next in list] [prev in thread] [next in thread]
List: zeromq-dev
Subject: Re: [zeromq-dev] performance issue in zmq_proxy_steerable()
From: "Claudio U." <retmt () gmx ! com>
Date: 2019-03-04 10:51:27
Message-ID: trinity-a0132b0f-a2a2-45ad-a308-5b406b97ea2e-1551696687070 () 3c-app-mailcom-bs12
[Download RAW message or body]
[Attachment #2 (text/html)]
<html><head></head><body><div style="font-family: Verdana;font-size: 12.0px;"><div>Hi \
Doron,</div>
<div> </div>
<div>
<div>> You cannot throttle the getsockopt of ZMQ_EVENTS.</div>
<div>> As you should only throttle from within recv & send.</div>
<div> </div>
<div>> My suggestion is, to write the proxy code by hand, the trick to get maximum \
performance is to call zmq_recv with DONT_WAIT flag until you get EAGAIN.</div>
<div>> So when the zmq_poll signal that a socket is ready for reading you read as \
much as you can.</div>
<div>> That way, you don't call the process_commands as often.</div>
</div>
<div> </div>
<div>
<div>I will patch the zmq code to use the zmq_recv with DONT_WAIT in the forward() \
function.<br/> But in your opinion what should be done when the output socket (named \
to_ in the source code) is touching the HWM and exiting with EAGAIN? Should I keep \
retrying the send() until it is successful?</div>
<div>Moreover I am trying to implement a benchmark utility of the proxy throughput to \
keep track of the performance enhancement (if any). Do you think this could be a \
useful addition in libzmq/perf ? I see there are not benchmarks for zmq \
proxy...</div>
<div> </div>
<div>Regards,<br/>
Claudio</div>
<div> </div>
</div></div></body></html>
_______________________________________________
zeromq-dev mailing list
zeromq-dev@lists.zeromq.org
https://lists.zeromq.org/mailman/listinfo/zeromq-dev
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic