[rabbitmq-discuss] CPU Utilization Concern

Richard Raseley richard at raseley.com
Thu Dec 19 21:26:02 GMT 2013

Currently working with an architecture as follows:

1) A topic exchange is bound to 3 consistent hash exchanges with routing
keys that match 3 distinct types of messages (e.g. type-a, type-b, type-c).

2) Each of these type-specific consistent hash exchanges is, in turn bound
to 16 type-specific queues (e.g. type-a-01, ... , type-a-16) with a weight
of 100.

3) Three consumers are configured to consume messages specific to that type
- each consumer connects to all of the 16 queues for it's type.

4) Producers connect to the broker and send messages to the topic exchange
with a routing key that matches the type of message they are sending.

5) Only one type is active at this time.

The reason we went down this path was to mitigate the 1 queue : 1 cpu core
limitation within RabbitMQ (or Erlange in general?).

We *are* seeing (relatively) even message distribution across the queues
for the on message type that is current active (yay), however I am only
seeing utilization on between 4-6 (depending on the time) out of the 16
total cores (others are 100% idle). This wasn't the behavior in my initial
testing (I saw relatively equal load across all cores).

Can someone confirm that in the architecture outlined above I would expect
to see (relatively) equal distribution across all available cores?
Furthermore, if my expectation is correct, are there Erlang / RabbitMQ
specific configurations that would impact things like core distribution /
affinity? I am also currently pursuing the idea that it might be some
hypervisor-specific setting that is causing this (no good info on that as
of yet).

Thank you in advance for any assistance.


Richard Raseley
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rabbitmq.com/pipermail/rabbitmq-discuss/attachments/20131219/a29a40c7/attachment.html>

More information about the rabbitmq-discuss mailing list