[rabbitmq-discuss] Performance questions

Matthias Radestock matthias at lshift.net
Wed Apr 29 22:21:11 BST 2009


Ashley van Gerven wrote:
> I'm fairly new to rabbitMQ - one of the tests I did was to read 1000 
> messages from rabbitMQ server running locally vs. reading 1000 messages 
> from another server (using .NET client).
> Performance was approx 1000 per second connecting from the same server, 
> vs approx 200 p/s connecting from another server (single-node broker).
> What would the bottleneck be here that's limiting the reads to 200 p/s? 
> My guess would be the network hardware.

What network bandwidth do you have?

And how exactly are you reading messages?

> Are there any tricks with setting up or connecting to minimise read times?

Are you using basic.get? If so then the throughput will be determined by 
the network latency, since basic.get incurs a full network round-trip 
per message. To avoid that use basic.consume to set up asynchronous 
"push" delivery that streams messages to the client.

> And what sort of performance benefits can there usually be realized for 
> every node added to a cluster?

That very much depends on your routing topology. At one extreme, if you 
have a single producer sending messages to a single consumer then adding 
nodes will not help at all. At the other extreme, if you have many 
disjoint streams then near-linear scalability is achievable.



More information about the rabbitmq-discuss mailing list