Thanks guys.<br><br><div class="gmail_quote">On Mon, May 10, 2010 at 6:30 AM, Matthew Sackman <span dir="ltr">&lt;<a href="mailto:matthew@lshift.net">matthew@lshift.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="im">On Mon, May 10, 2010 at 09:35:24AM +0200, Martin Sustrik wrote:<br>
&gt; Gustavo,<br>
&gt;<br>
&gt; &gt; If RabbitMQ are receiving 20 messages per millisecond from publisher and<br>
&gt; &gt; each message have 213 bytes, what the size of packages over network to a<br>
&gt; &gt; consumer or other broker?<br>
&gt;<br>
&gt; 20 msgs/ms = 1 message each 50 us<br>
&gt;<br>
&gt; This means (under Linux at least) that each message is sent as a<br>
&gt; separate packet. Or maybe three packets per message. It depends on<br>
&gt; whether RabbitMQ sends message using single OS call or whether is sends<br>
&gt; each frame separately.<br>
<br>
</div>We make one call to write the entire message. Whilst this, at least in<br>
Erlang land, consists of writing an io_list (which is a (potentially<br>
deep) list of binaries), last I checked, this is very performant as<br>
Erlang maps this to a writev, thus does not have overheads of copying<br>
data into one contiguous block before writing.<br>
<font color="#888888"><br>
Matthew<br>
</font></blockquote></div><br>