[rabbitmq-discuss] Does clustering increase throughput?

Simon MacMullen simon at rabbitmq.com
Mon Mar 5 16:07:07 GMT 2012


I'm not sure I fully understand your test, however it's important to 
understand that non-HA queues only live on one node in a cluster (and HA 
queues need to do enough extra work that they're slower anyway).

Therefore connecting to one queue from multiple nodes in the cluster 
will not in general go any faster.

Clustering increases throughput in the case where you have a bunch of 
queues. They will tend to end up distributed across nodes so each 
individual node has fewer queues on it.

Cheers, Simon

On 26/02/12 17:29, matan zinger wrote:
> 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
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss at lists.rabbitmq.com
> https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss


-- 
Simon MacMullen
RabbitMQ, VMware


More information about the rabbitmq-discuss mailing list