[rabbitmq-discuss] MTU
Martin Sustrik
sustrik at 250bpm.com
Mon May 10 08:35:24 BST 2010
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.
Anyway, with 213 bytes of message body and ~60 bytes of AMQP envelope,
OS gets 273 bytes each 50 us to send. At this rate OS will probably do
no packet coallescing (depends on TCP_NODELAY setting and latency of
your link), neither will interrupt coalescing in the NIC kick in (it
usually starts working when packets are less than 20-30 us apart).
Thus, packets on the network are likely to be ~300 bytes long (taking
into account IP and TCP headers). Check it using a packet capturing tool
such as wireshark!
Anyway, packets 300 bytes long are way below standard MTU (1500) or
jumbo frame MTU (9000) -- making the setting pretty irrelevant.
Martin
More information about the rabbitmq-discuss
mailing list