Matthias, Alvaro <div><br></div><div>Thanks for quick reply.</div><div><br></div><div>1) Rabbit version: 2.8.4</div><div> Erlang version: R14B04</div><div><br></div><div>2) The other queues are some idle some working (not very hard - up to 30-40 message per second).</div>
<div><br></div><div>3) Meaning:</div><div> a) Declaring durable named queue: channel.queueDeclare(queue_name, true, .... ).</div><div> b) Binding queue: channel.queueBind(queue_name, exchange_name, routing_key).</div>
<div><br></div><div>4) I will take a closer look at basic.qos</div><div><br></div><div>5) We are declaring queue only once on initialization (we are using JAVA client).</div><div><br></div><div>Thanks, </div><div> Pavel</div>
<div><br></div><div><br></div><div><br><div class="gmail_quote">On Mon, Jan 14, 2013 at 5:44 PM, Matthias Radestock <span dir="ltr"><<a href="mailto:matthias@rabbitmq.com" target="_blank">matthias@rabbitmq.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Pavel,<div><br>
<br>
On 14/01/13 21:21, Pavel Kogan wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have a rabbit server on single dedicated CentOS machine (Quad Core<br>
with 16Gb RAM) connected to 1Gbit LAN.<br>
</blockquote>
<br></div>
What version of Erlang and Rabbit are you running? If it's not the latest of both then please upgrade.<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I have many queues running, but total number of messages is not very<br>
high for such a machine.<br>
</blockquote>
<br></div>
What are all those queues doing? Are the completely idle or is there a trickle of messages flowing in/out/through them?<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
The problem is following:<br>
1) I connect client A to some queue (with many many messages ready) with<br>
some routing key - it processes 150 messages per sec (its limit).<br>
</blockquote>
<br></div>
What do you mean by "connect... to some queue... with some routing key"? Consuming from a queue does not involve a routing key.<div><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
2) I connect another client A in parallel on identical server to same<br>
queue with same routing key. Now I have 2 identical consumers on same<br>
queue and messages are distributed on round robin<br>
manner, but somehow second unit receives only 50 messages per sec.<br>
3) If I disconnect A1, A2 starts working normally. If I connect A1 back<br>
it becomes a slow node.<br>
</blockquote>
<br></div>
As Alvaro said, check your basic.qos settings; if they are too low then throughput becomes bounded by network latency.<br>
<br>
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 (<a href="http://www.rabbitmq.com/api-guide.html#tracer" target="_blank">http://www.rabbitmq.com/api-<u></u>guide.html#tracer</a>) and examine the command stream.<br>
<br>
<br>
Regards,<br>
<br>
Matthias.<br>
</blockquote></div><br></div>