Thanks guys.<br><br><div class="gmail_quote">On Mon, May 10, 2010 at 6:30 AM, Matthew Sackman <span dir="ltr"><<a href="mailto:matthew@lshift.net">matthew@lshift.net</a>></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>
> Gustavo,<br>
><br>
> > If RabbitMQ are receiving 20 messages per millisecond from publisher and<br>
> > each message have 213 bytes, what the size of packages over network to a<br>
> > consumer or other broker?<br>
><br>
> 20 msgs/ms = 1 message each 50 us<br>
><br>
> This means (under Linux at least) that each message is sent as a<br>
> separate packet. Or maybe three packets per message. It depends on<br>
> whether RabbitMQ sends message using single OS call or whether is sends<br>
> 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>