<div>Hi,<div><br></div><div> I redone the test with the agent enabled on all the nodes. </div><div><br></div><div> This is the results,</div><div>overview</div><div><br></div><div><a href="http://img805.imageshack.us/img805/2306/overviewrabbitmq1.jpg">http://img805.imageshack.us/img805/2306/overviewrabbitmq1.jpg</a></div>
<div><br></div><div>queue</div><div><br></div><div><a href="http://img522.imageshack.us/img522/4746/queuesrabbitmq1.jpg">http://img522.imageshack.us/img522/4746/queuesrabbitmq1.jpg</a><br><br>I noticed that the messages in 1 queue is increasing despite the fact that the incoming is still <= get/deliver. The pileup is actually quite significant as I only managed to last an hour before the broker crashed due to insufficient memory. one message could be up to 300kb as thats what I set the frame size to be (I assume that is the message size).</div>
<div><br></div><div>Was wondering if it is a problem with the way I implement the clustering or code.</div><div><br></div><div>my cluster config is as follows</div><div><div>server 1</div><div><div>[</div><div>{rabbit,[{vm_memory_high_watermark, 1.0},{frame_max, 0},{cluster_nodes,['rabbit@SERVER1','rabbit@SERVER2']}]}</div>
<div>].</div></div><div><div>server 2</div><div><div>[</div><div>{rabbit,[{vm_memory_high_watermark, 1.0},{frame_max, 0},{cluster_nodes,['rabbit@SERVER2','rabbit@SERVER1']}]}</div><div>].</div></div></div>
<div>.</div><div>.</div><div>.</div><div>.</div><div><br></div><div>server 5</div><div>[</div><div>{rabbit,[{vm_memory_high_watermark, 1.0},{frame_max, 0},{cluster_nodes,['rabbit@SERVER5','rabbit@SERVER1']}]}</div>
<div>].</div></div><div><br></div><div>Thanks,</div><div>Qingxiong<br></div><div class="gmail_quote">On Tue, Dec 6, 2011 at 11:38 PM, Simon MacMullen <span dir="ltr"><<a href="mailto:simon@rabbitmq.com">simon@rabbitmq.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hi Tang.<div class="im"><br>
<br>
On 06/12/11 15:22, tang qingxiong wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Some background. My project is trying to implement rabbitMQ as a<br>
communications protocol as a direct replacement for OpenAMQ as it is<br>
outdated. We are running C++ on windows server 2003 and used the C<br>
client library to implement our solution.<br>
<br>
We setup 4 clustered brokers for clients to connect to. We have 20<br>
clients each publishing data using direct mode to the same exchange with<br>
all the queues listening to the same key.<br>
<br>
The idea of the setup is that if 1 client sends out data each of the<br>
other 19 will receive the data.<br>
<br>
We ran our application and noticed that the queues actually pile up.<br>
I have taken screenshoots of the management console.<br>
</blockquote>
<br></div>
You *must* enable rabbitmq_management_agent on every node in the cluster to be able to trust the figures you see in management - at the moment you're only seeing partial message rates; they are not guaranteed to add up *at all*.<div class="im">
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<a href="http://imageshack.us/f/213/overviewrabbitmq.jpg/" target="_blank">http://imageshack.us/f/213/<u></u>overviewrabbitmq.jpg/</a><br>
<br>
This shows that the ready queue which is increasing overtime and also<br>
publish and deliver.<br>
<br>
<a href="http://img690.imageshack.us/img690/903/queuesrabbitmq.jpg" target="_blank">http://img690.imageshack.us/<u></u>img690/903/queuesrabbitmq.jpg</a><br>
<br>
This image shows the incoming rate of each client is 12/s and deliver is<br>
30/s.<br>
</blockquote>
<br></div>
It's probably not.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I am wondering if anyone here knows the reason on the pileup as the<br>
incoming rate is less than the deliver rate.<br>
</blockquote>
<br></div>
Even when you get rabbitmq_management_agent installed, there can still be small pileups when mgmt shows incoming and deliver being the same, since the rates are averages and are not sampled at the exact same instant as queue lengths anyway.<br>
<br>
But small pileups are not a problem - it is a message *queue* after all :-)<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(Assuming the incoming rate<br>
is the rate of receiving and deliver rate is the rate of sending.).<br>
</blockquote>
<br></div>
Incoming = rate at which messages enter the queue. Deliver = rate at which they are consumed.<div class="im"><br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Also is there anyway to further optimize the rate of speeding and<br>
receiving either programmatically or configuration. Our send and receive<br>
code is very similar to the example provided by the Client here<br>
</blockquote>
<br></div>
Well 30 msg/s should be nothing. You shouldn't need to optimise anything much.<br>
<br>
Cheers, Simon<br><font color="#888888">
<br>
-- <br>
Simon MacMullen<br>
RabbitMQ, VMware<br>
______________________________<u></u>_________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.<u></u>rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/<u></u>cgi-bin/mailman/listinfo/<u></u>rabbitmq-discuss</a><br>
</font></blockquote></div><br></div>