Hi,
I was wondering what should be considered a reasonable way to estimate a 
realistic maximum number of messages per second for a server receiving 
messages on a tcp zmq_socket.

I have a relatively simple server that opens a tcp port (ZMQ_ROUTER) and 
logic-wise is pretty much a copy of the Multithreaded Server example in 
the guide. I am unsure how to estimate how many requests per second 
should I expect maximum on this configuration. I'm guessing the number 
relates somehow to the kind of network connection and the size of the 
messages.

The network connection is either one or two 1Gb/s or 10Gb/s wires 
arriving at the machine (depending on the specific hardware in 
question), yet I'm unsure how the rest of the network topology will 
affect performance.

The messages are of a few kinds, but they fall into three categories: 
small (few hundred bytes, call it 256, say about 0.1% of the total), 
tiny (under 32 bytes, say less than 0.5% of the total) and big (around 
32MB each, all the rest, about 99% of the total). Assuming that I can 
load halfway each wire (this seems to be what our systems people 
indicates as a reasonable thing to design towards), it seems I would get 
either 50MB/s or 500MB/s on a one link in each of the two cases, which 
would in turn mean I'd get up to 1.5 or 15 big messages per second (or 
twice as much on a dual link? or does that need two ports?).

Is this a reasonable way to think about this?

By the same reasoning, though, it seems I could get up to 200k small 
messages and up to 2M tiny messages per second, which I suspect is 
rather hard to achieve in practice, based on some measurements I found 
online of Apache being unable to accept more than 5k connections per 
second and Cassandra being unable to give more that 2k answers for 
direct queries per second. Which brings me back to my original question: 
are there numbers available about the various overheads, with which one 
can try and estimate how big the messages should be to optimize the 
overhead vs transmission time tradeoff? Are guys able to share some real 
world numbers of this sort, or some indication upon which I can build 
some intuition around what to expect?

Thank you
Luca

_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to