[rabbitmq-discuss] Does clustering increase throughput?

matan zinger matanzinger at gmail.com
Sun Feb 26 17:29:39 GMT 2012


Hi All,

I've read and experienced with rabbit mq clustering feature over 2
machines.
Below are the results I found, which I found quite strange:

0. Direct exchange named "myexchange" was defined.
1. rabbit1 & rabbit2 were configured to work in a cluster. both are
using disc.
2. queue named "in.queue" was configured, and binded to routing key
"in"
3. 100k messages were enqueued with routing key "in". connection was
to rabbit1.
4. Running a single message handler on rabbit1 machine, connected to
rabbit1 mq.
Handling throuput: 2k messages / second
5. Running handlers on both rabbit1 & rabbit2 - each reached the
throuput of ~400 messages / second.
After stopping the message handler on rabbit2, handler on rabbit1
returned to 2k messages / second.
6. Running a single message handler on rabbit1 machine, connected to
rabbit2 mq.
Handling throuput: 400 messages / second

I still can't figure out this behavior:
I understood form the documentation that adding nodes to a cluster is
done in order to INCREASE throughput.
However, adding an additional handler leads to a degredation in
performance!

The second thing I can't figure out is the difference is throughput
between the cases of a single handler on rabbit1, and a single handler
on rabbit2.
If both nodes are active, and are using discs, than they should be
exactly the same.
There is no notion of master/slave.
If so - how come a different throughput received when running a single
handler on each of them?

Please help me understand these conflicts.

Thanks,
Matan


More information about the rabbitmq-discuss mailing list