[rabbitmq-discuss] Performance degrades with increasing queue depth

Aisha Fenton 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 mailing list