[rabbitmq-discuss] MTU
Matthew Sackman
matthew at lshift.net
Mon May 10 10:30:16 BST 2010
On Mon, May 10, 2010 at 09:35:24AM +0200, Martin Sustrik wrote:
> Gustavo,
>
> > If RabbitMQ are receiving 20 messages per millisecond from publisher and
> > each message have 213 bytes, what the size of packages over network to a
> > consumer or other broker?
>
> 20 msgs/ms = 1 message each 50 us
>
> This means (under Linux at least) that each message is sent as a
> separate packet. Or maybe three packets per message. It depends on
> whether RabbitMQ sends message using single OS call or whether is sends
> each frame separately.
We make one call to write the entire message. Whilst this, at least in
Erlang land, consists of writing an io_list (which is a (potentially
deep) list of binaries), last I checked, this is very performant as
Erlang maps this to a writev, thus does not have overheads of copying
data into one contiguous block before writing.
Matthew
More information about the rabbitmq-discuss
mailing list