[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