Erlang Mailing Lists

Author Message

<  RabbitMQ mailing list  ~  CPU usage with RabbitMQ 1.7

Guest
Posted: Thu Oct 15, 2009 5:39 am Reply with quote
Guest
Hello there,

We've been stress testing our infrastructure recently and we've been
surprised to notice that RabbitMQ was really hungry in memory (which is
more or less okay if we the OS gets it back eventually) but also in CPU.

Our messages are about 100 bytes each and our consumer isn't as fast as
our producer (though it is very capable in our book) but we have
difficulties understanding why Rabbit is so CPU bound.

We were also feeling that the queue isn't filled as fast as the exchange
(topic) and Rabbit seems to feed the queues on demand based on the
consumer speed. Is it a valid description of what happens or is it a
false observation on our part?

Thanks for any tips,
- Sylvain

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist
Guest
Posted: Mon Oct 19, 2009 10:58 am Reply with quote
Guest
Sylvain,

Sylvain Hellegouarch wrote:
> We've been stress testing our infrastructure recently and we've been
> surprised to notice that RabbitMQ was really hungry in memory (which is
> more or less okay if we the OS gets it back eventually) but also in CPU.
>
> Our messages are about 100 bytes each and our consumer isn't as fast as
> our producer (though it is very capable in our book) but we have
> difficulties understanding why Rabbit is so CPU bound.
>
> We were also feeling that the queue isn't filled as fast as the exchange
> (topic) and Rabbit seems to feed the queues on demand based on the
> consumer speed. Is it a valid description of what happens or is it a
> false observation on our part?

Could you describe your test set up in more detail?

- What clients are you using?
- What is the routing topology, i.e. the numbers of producers,
consumers, exchanges, queues and bindings and how they are "wired up"?
- Are the messages marked as persistent?
- Do producers or consumers use transactions?
- Do consumers consume message with basic.consume or basic.get?
- Do consumers operate in auto-ack or normal, ack'ing mode?
- What do the producers do? Send messages in tight loop?
- How are you measuring speed?
- What hardware, O/S and version of Erlang are you running?

If you could post the test code that would be ideal. Assuming it's
self-contained and well-factored Wink

It may also be worthwhile to compare your results with what you get from
the MulticastMain example program in the Java client.


Matthias.

_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist

Display posts from previous:  

All times are GMT
Page 1 of 1
This forum is locked: you cannot post, reply to, or edit topics.

Jump to:  

You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum