[rabbitmq-discuss] Performance degrades with increasing queue depth
aisha.fenton at gmail.com
Mon Sep 7 22:44:11 BST 2009
Sorry didn't answer your other questions.
> Is your test machine paging or swapping?
I don't believe so. I see the issue when even though I have Gigs of
free memory. Unless there is some configuration change that I need to
make to RabbitMQ for it to take advantage of that memory?
> What is the 'top' output for your process and for rabbit at various
> points of the run cycle? Is it lower or higher when you are getting
> 300 msg/s than when you are getting 80 msg/s?
The CPU increases from 10% to 40%. So it does get busier as mps drop
off. But the machine is still nowhere near CPU bound.
> What is your subscriber doing with the data it receives? If you make
> that process a "no op" how many messages per second can you handle?
In my test app, just counting how many mps. I assume a "no op" means
doing nothing but counting the mps, like my test script?
> Does it ever drop off related to queue size?
The mps reduces as the queue depth increases.
> Why are you "popping" messages from the queue isn't of having them
> pushed automatically?
The library I'm using (http://github.com/celldee/bunny/tree/master) is
synchronous only. I'm considering switching to (http://github.com/tmm1/amqp/tree/master
) which is async and uses libevent. However, I've read that there are
problems with msg acknowledges in apps that use libevent, because the
OS can buffer the ack responses. And although I'm not using ack yet, I
want to in my production system.
More information about the rabbitmq-discuss