[zeromq-dev] Mb vs. MB in tests & on the Wiki
Martin Sustrik
sustrik at fastmq.com
Mon Oct 13 23:21:48 CEST 2008
Holger,
> ..sigh! You were right of course. I keep getting 60-70 MB/sec with the
> local_thr test over localhost:lo and messages from ~1k - 8k. With 32k and
> above it levels out at ~100MB/sec
I assume you've meant Mb (this B/b thing is really confusing) which
equals to some 7500 messages a second. Even with 60MB is would be 60,000
msgs/sec which is really unacceptable.
On what kind of hardware are you running?
I've tried to run on loopback on a single-core P4 box and this is what
I've got:
threads: 1
message size: 1024 [B]
message count: 1000000
Your average throughput is 196822 [msg/s]
Your average throughput is 1612 [Mb/s]
An idea: What message count are you using? Small amount of messages in
the test (<100000) may cause throughput figure to change unpredictably
from run to run...
> and sometimes fails, I assume with OOMs
> (zmq::raw_message_init: no msg_->content).
We haven't seen this kind of behaviour. Looks like some nasty bug. Would
you mind running debug version (export CXXFLAGS="-g -O0") under gdb and
sending us backtraces? Optionally, you can report the bug at
jira.fastmq.org.
> I know loopback is not realistic since it is mostly optimized away by the
> kernel and everything becomes an exercise in context switching and memory
> copying, but it's the best I can do considering my Intel e1000 Gb NIC is
> sadly stuck in plain PCI and won't push more than 75MB/sec no matter how
> hard I threaten it.
Loopback messaging is one of the scenarios we should take into account
so it's good you are testing it. From our limited experience loopback
interface tends to be rather unstable from performance point of view,
i.e. results differ wildly among the runs.
> FWIW lmbench says this rusty tin pushes ~1.1GB (not bit) between processes
> with AF_UNIX but of course that is without zmq overhead. Still, shouldn't
> throughput over loopback be higher than ~60-70 MB even with only one core?
Yup. See the figures above.
> Then again, latency is much more interesting to me anyway. I'll run some
> tests on a dual-core machine with the -rt kernel later and can report back
> if it yields anthing useful.
We are doing tests on RT kernel right now, so you joining the effort
would be helpful.
In overall it looks like you won't see better latencies for RT kernel.
Presumably, they'll be a little bit hgiher, however, the jitter should
be much lower. To test this you need a specific test case that measures
latency for *each* message + a statistical tool to compute metrics from
the mass of output data. We can share that with you in case you are
interested.
Martin
More information about the zeromq-dev
mailing list