[rabbitmq-discuss] Performance Issue

Matthias Radestock matthias at rabbitmq.com
Mon Jan 14 22:44:44 GMT 2013


On 14/01/13 21:21, Pavel Kogan wrote:
> I have a rabbit server on single dedicated CentOS machine (Quad Core
> with 16Gb RAM) connected to 1Gbit LAN.

What version of Erlang and Rabbit are you running? If it's not the 
latest of both then please upgrade.

> I have many queues running, but total number of messages is not very
> high for such a machine.

What are all those queues doing? Are the completely idle or is there a 
trickle of messages flowing in/out/through them?

> The problem is following:
> 1) I connect client A to some queue (with many many messages ready) with
> some routing key - it processes 150 messages per sec (its limit).

What do you mean by "connect... to some queue... with some routing key"? 
Consuming from a queue does not involve a routing key.

> 2) I connect another client A in parallel on identical server to same
> queue with same routing key. Now I have 2 identical consumers on same
> queue and messages are distributed on round robin
>      manner, but somehow second unit receives only 50 messages per sec.
> 3) If I disconnect A1, A2 starts working normally. If I connect A1 back
> it becomes a slow node.

As Alvaro said, check your basic.qos settings; if they are too low then 
throughput becomes bounded by network latency.

Also, check that there aren't any extraneous AMQP commands being issued 
by your client. e.g. it would be bad if, say, it (re)declared the queue 
every time it receives a message. You may want to connect through the 
tracer (http://www.rabbitmq.com/api-guide.html#tracer) and examine the 
command stream.



More information about the rabbitmq-discuss mailing list