<div dir="ltr">Hi Emile ,<div><br></div><div style>Thank you for your reply. I had also looked at the link you shared in the reply. </div><div style>I understand that throughout is a function of different parameters and it would behave based on configuration of these parameters.</div>
<div style><br></div><div style>But since I am doing a detailed performance study, my goal will be to try different parameter configuration and see the difference in throughout , processor load etc. etc so that I finally propose a suitable configuration. My requirement is to atleast have 10,000 msg/sec. For maintaining this throughput requirement with zero message loss and 100% availability of broker, I started with 4 node cluster with durable queues and exchanges. Since I knew that persistent messages would trigger disk activity, first I want to try with non-persistent messages and see what is throghput, processor utilization etc. etc. </div>
<div style><br></div><div style>I have very high end server with 20 CPUs and 120 GB of RAM so I think resources wise it's not the bottleneck.</div><div style><br></div><div style>And as Tim pointed out before, I am also suspecting that bottleneck might be in the way I am using publisher/confirm and consumer ack. I have shared my scripts also now.</div>
<div style><br></div><div style>Did u and Tim received my scripts ?</div><div style>It would really help me if you guys can have quick look at attached scripts and guide me if the way I am using publisher confirm and consumer ack is efficient and correct or not for securing message deliveries both by rabbitMQ server and then by consumer/s.</div>
<div style><br></div><div style>I also have configured prefetch count value but still I don't see any difference in my throughout bcoz may be bottleneck is in my producer.</div><div style><br></div><div style>Also, I tried to simulate four producers (each opening up it's own TCP connection to server , each have it's own channel and exchange) but I still don't get higher throughput than 300 msg/sec. I have a single python script, which starts four producers and it's only one process.</div>
<div style><br></div><div style>Here I am suspecting that since it's just a single process, it still behave the same as single producer. If I run the same script again ,y throughout doubles which is 600 msg/sec and I see that there are two processes each connected with one producer script. </div>
<div style><br></div><div style>I can see through web interface of rabbitMQ that my automatic producer script works since connection, channel gets updated accordingly.</div><div style><br></div><div style>I also wanted to know what is internal mechanism within basic_publish and basic_consume.</div>
<div style>I learnt that basic_consume is better choice than basic_get since server will directly send messages to listening consumer without consumer polling it. </div><div style><br></div><div style>I hope, I have explained myself well and in detail manner for you guys to able to help/guide me.</div>
<div style><br></div><div style>Thanks !</div><div style>//Priyanki.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Jun 25, 2013 at 1:06 PM, Emile Joubert <span dir="ltr"><<a href="mailto:emile@rabbitmq.com" target="_blank">emile@rabbitmq.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
<br>
Hi,<br>
<div class="im"><br>
On 24/06/13 16:55, Priyanki Vashi wrote:<br>
> Also configured HAproxy TCP Load balancer so that I can just provide<br>
> single port to connect to the Cluster.<br>
<br>
</div>A mirrored queue will be slower than a queue on a single server of the<br>
same spec.<br>
<div class="im"><br>
> -1 producer and No consumer and no queue binded to exchange<br>
<br>
</div>In this case the broker throws messages away without queueing so it<br>
should be extremely fast.<br>
<div class="im"><br>
> Also what points to take care, in order to improve throughput ?<br>
<br>
</div>There are several factors that could have a bearing on the overall<br>
throughput. Here is a similar question I answered recently:<br>
<br>
<a href="http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2013-March/026132.html" target="_blank">http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/2013-March/026132.html</a><br>
<br>
The numbers you quote are very low. For comparison, measure the network<br>
and IO bandwidth by piping traffic across the network to disk (e.g.<br>
using netcat) to determine what performance your servers are capable of.<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
<br>
-Emile<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
<br>
</font></span></blockquote></div><br></div>