[zeromq-dev] ZeroMQ Newbie

Eric Hill eric at ijack.net
Mon Apr 1 15:44:48 CEST 2013


> I need to handle something like 8000 messages per second in a Windows
> environment. The existing solution handles something like 32000 messages
> per second and is based on Windows/IO-Completion ports.
>

You should write up a test using any of the provided examples in the guide
and benchmark your setup.  Messaging throughput is very dependent on your
architecture and interconnects.  8000 mps should be easily attainable.  See
here for a good benchmarking methodology:
http://www.zeromq.org/whitepapers:measuring-performance


> To start with, I need to know if I can handle that many messages using a
> single-threaded approach with ZMQ as I assume that ZMQ does multi-threading
> internally.
>

Yes.  Unless you're DOING something with the message, in which case the
time you take to do something will negatively effect the overall throughput.


> Also, I'd like to know if I could do better with multiple threads? How?
> I'd be thankful if you could post links to related online articles and
> examples.
>

Again, zmq does a great job at handling the messages.  You need to do YOUR
work with whatever threading/IOCP/coroutine/fiber/magic methodology that
suits the problem best.

In addition, I want to know if I can send each ZMQ message encrypted using
> Win32 Crypto API's default RSA provider, RSA_PROV_FULL,  (I don't know if
> other open-source alternatives exist to accomplish the same).
>

 zmq sends opaque messages.  The data you put in the messages can be with
whatever encryption you choose.


> Finally, what causes the message loss? In which situations can I loose
> messages?
>

Switch latency, router latency, network latency in general, lousy network
card, anti-virus programs, cosmic rays, poor orientation to the ether wind,
etc.  Message loss happens.  It's your job to minimize it as much as
possible, and deal with it when it happens.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130401/807acabb/attachment.htm>


More information about the zeromq-dev mailing list