<div dir="ltr">Hi Again ,<div><br></div><div>Thank you for your reply. <br><div><br></div><div>1) Sorry about not pasting code. But I realized that code is too long to directly paste so I attached files then but looks like they are not received so I am attaching again.</div>
<div><br></div><div>2) My exchange  as well as queue names are not really long. Neither my routing key. For simplicity I just created exchange, queue and routing key as string &#39;1&#39; , &#39;2&#39; like that so that later if required it&#39;s easy to automate. For now I just run manually. </div>
<div><br></div><div>3) Regarding using faster client, I understand your point now and would definitely give a try and see how it goes. I am thinking to give a try for amqpc since it looks easy to give a try. </div><div><br>
</div><div>4) If you can quickly have a look at my current publisher/consumer and give some higher level comments then it would help me to get direction. </div><div>In order to have easy start, I just adapted the examples of producer and consumer given on pika site and I have not really brought in any major changes since I wanted to get everything working and then slowly make improvements if really required to this code. <br>
</div><div><br></div><div>Best Regards,</div><div>Priyanki. </div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 16, 2013 at 5:45 PM, Michael Klishin <span dir="ltr">&lt;<a href="mailto:mklishin@gopivotal.com" target="_blank">mklishin@gopivotal.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Priyanki Vashi:<br>
<div class="im"><br>
&gt; content header = 88 bytes ( does not show any direct info so not sure)<br>
&gt; basic.publish frame = 85 bytes ( shows details of queue, exchange, routing key etc)<br>
&gt; content body = 137 bytes ( in this my payload is 100 bytes of string + 37 bytes might be checksum etc.)<br>
&gt; basic.ack = 87 bytes (shows delivery tag number)<br>
&gt;<br>
&gt; so from this I interpreted as 297 bytes  non-payload + 100 bytes of actual payload = 397 total bytes for every message on wire.<br>
&gt;<br>
&gt; Is this not normal ?<br>
<br>
</div>I&#39;d need to sit down and calculate how many bytes would a bare content header be packed into<br>
but it&#39;s about right, except that<br>
<br>
 * content header and body will vary depending on what you publish, what values the properties have, etc<br>
 * basic.ack is optional, that is, you can publish without acks (which trades safety for improved throughput)<br>
<br>
I&#39;m slightly surprised that basic.publish frame is almost 90 bytes but it may be the case if e.g.<br>
exchange name is unusually long.<br>
<div class="im"><br>
&gt; My publisher and consumer code looks like this.<br>
<br>
</div>I assume it wasn&#39;t pasted by accident?<br>
<div class="im"><br>
&gt; 2) Regarding Interrupts and context switches point:<br>
&gt; I agree and understand what you said about context switch but I wanted to bring this up since I felt my CPU was spending lot of time in doing context switches and that could be one of the reason that I don&#39;t get any higher throughput even if I increase number of producer and receiver.<br>

<br>
</div>How many cores (logical) does your CPU have? Do you only run a publisher and RabbitMQ on this machine?<br>
<div class="im"><br>
&gt; 3) Regarding changing to faster clients like Java or amqpc:<br>
&gt; My current concern is not that I don&#39;t have sufficinet throughout, I would like to understand given the fact later project need to use python based client and not java based client, would like to understand how system resources are used by rabbitmq.<br>

<br>
</div>Seeing what kind of throughput you get with MulticastMain and/or amqpc will show you<br>
how fast your hardware, network and RabbitMQ node can go. This can prove if you<br>
are limited by your publisher&#39;s performance.<br>
<br>
Then you can profile your publisher to see what takes time. I wasn&#39;t suggesting that you<br>
should just use Java for your project, only to see if you can get a noticeably better<br>
throughput with a different client.<br>
--<br>
MK<br>
<br>
<br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><br></div>