<div dir="ltr">Hi Michael,<div><br></div><div>Thanks for your reply. Sorry didn&#39;t answered before, I was on vacation.</div><div>Yes I am using prefetch = 100. I am using JAVA and .Net clients. I am not sure about message size but it should not exceed 100kb.</div>
<div>What I saw in .Net client is that publishing message takes time - indeed few milliseconds but my whole processing is also few milliseconds.</div><div>Moving publishing to separate thread with blocking collection interface helped a lot. Now I am not sure about polling requests from queue ... </div>
<div><br></div><div>Regards, </div><div>   Pavel</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Wed, Jul 31, 2013 at 7:59 PM, Laing, Michael <span dir="ltr">&lt;<a href="mailto:michael.laing@nytimes.com" target="_blank">michael.laing@nytimes.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Pavel,<div><br></div><div>Have you experimented with prefetch?</div><div><br></div><div>Which client are you using and which versions of rabbitmq and erlang. Message size is important too, of course.</div>

<div><br></div><div>We use the python pika client in asynch mode and have consistent processing times (fetch/process/publish) under 5ms.</div><div><br></div><div>In general, we have found event loop based approaches faster than threads, esp. on the small (cheap) machines we use in the cloud.</div>

<div><br></div><div>Best regards,</div><div><br></div><div>Michael</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Wed, Jul 31, 2013 at 6:16 PM, Pavel Kogan <span dir="ltr">&lt;<a href="mailto:pavel.kogan@cortica.com" target="_blank">pavel.kogan@cortica.com</a>&gt;</span> wrote:<br>

</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hi all,<div><br></div><div>I have simple subscriber that receives message, process it in single thread and publish response.</div>

<div>Processing must be done in single thread (logic limitations) but is very fast (~5ms) so I expect to be able to process 200 requests per second. However publishing response in line with processing slows the things as network latency is considerable (even though it is internal 1Gbit network). To resolve it I moved responses publishing to separate threads (via internal concurrent queue) and it helped.</div>


<div>The question is about receiving overhead. Is there any pre-caching of messages or I should also integrate internal concurrent queue for requests too?</div><div><br></div><div>Many Thanks,</div><div>   Pavel</div></div>


<br></div></div>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">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>
<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>