Hi, Thanks for your reply.<div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">So is the 40ms the time it takes for a message to travel from the game logic server to the web browser? </blockquote>
<div><div><br></div><div>It's the time between the message being published and the message being delivered. I have output from wireshark looking something similar to:</div><div><br></div><div> # Time From To Protocol Length Info</div>
<div>...</div><div><div> 155 1.539600 127.0.0.1 127.0.0.1 AMQP 115 Basic.Publish</div><div> 157 1.579834 127.0.0.1 127.0.0.1 AMQP 3873 Content-Header Content-Body</div>
<div> 159 1.580942 127.0.0.1 127.0.0.1 AMQP 3963 Basic-Deliver Content-Header Content-Body</div><div> 160 1.590769 127.0.0.1 127.0.0.1 AMQP 115 Basic.Publish</div>
<div> 162 1.627732 127.0.0.1 127.0.0.1 AMQP 3873 Content-Header Content-Body</div><div> 164 1.628295 127.0.0.1 127.0.0.1 AMQP 3963 Basic-Deliver Content-Header Content-Body</div>
<div> 165 1.638748 127.0.0.1 127.0.0.1 AMQP 115 Basic.Publish</div><div> 167 1.675834 127.0.0.1 127.0.0.1 AMQP 3873 Content-Header Content-Body</div>
<div> 169 1.676850 127.0.0.1 127.0.0.1 AMQP 3963 Basic-Deliver Content-Header Content-Body</div></div><div>...</div><div><br></div><div>This looks to me like it is AMQP that is taking about 40ms between publish and deliver. Is this because of certain server settings i'm running, interference from the node server running at the same time on the same machine or some other reason?</div>
<div><br></div><div>Thank you for your time.</div><div><br></div><div>Tom.</div><div><br><div class="gmail_quote">On 15 August 2012 12:18, 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">To,<div class="im"><br>
<br>
On 15/08/12 12:07, Emile Joubert wrote:<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">
On 14/08/12 21:32, Tom Wrigg wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Is there a way to turn off acknowledgements? would this make things faster?<br>
</blockquote>
<br>
Yes, you can consume in auto-ack mode. Or you can impact performance<br>
much less and get the advantages of acknowledgements if you acknowledge<br>
messages in batches.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Are there any other methods I could use to increase speed/ reduce latency?<br>
</blockquote>
<br>
Here are some suggestions, which you should benchmark with your own<br>
workload.<br></div>
[snip]<br>
</blockquote>
<br>
Actually, if you are seeing 40ms latency it is very, very unlikely that the RabbitMQ broker is responsible for most of that.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Game Logic server ---> AMQP topic exchange ---> websockets ---> web-browser.<br>
</blockquote></blockquote>
<br>
So is the 40ms the time it takes for a message to travel from the game logic server to the web browser? If so I suggest you measure the latency at each step. It could easily be that the bulk of the 40ms is simply network latency between your node instance and the web browser, or between node and the broker. Or it could be that node/node-amqp are slow.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Why is it taking so long to route a message? I've read of servers<br>
doing 12,000+ messages per second.<br>
</blockquote>
<br>
A lot more than that, actually - see <a href="http://www.rabbitmq.com/blog/2012/04/25/rabbitmq-performance-measurements-part-2/" target="_blank">http://www.rabbitmq.com/blog/<u></u>2012/04/25/rabbitmq-<u></u>performance-measurements-part-<u></u>2/</a>. However, you are confusing latency with throughput. High throughput is still possible in situations when there is high latency, as long as synchronous operations are avoided. High prefetch limits or even using no-ack are one way to achieve that on the consuming side.<br>
<br>
Regards,<br>
<br>
Matthias.<br>
</blockquote></div><br></div></div>