> 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.
_______________________________________________ zeromq-dev mailing list [email protected] http://lists.zeromq.org/mailman/listinfo/zeromq-dev
