[rabbitmq-discuss] Query about performance

Emile Joubert emile at rabbitmq.com
Mon Jan 20 11:26:46 GMT 2014


On 20/01/14 09:04, Ashish Mukherjee wrote:
> When a large number of messages are fed to the queue for async
> processing, the messages fed in for demo fall to the bottom of the queue
> and the request times out.

New messages will be enqueued at the back, and ready messages will be
dequeued from the front of the queue. It is not possible to insert
messages at the front of the queue (unless they are being requeued).

As Robert suggests, avoid putting different kinds of messages in the
same queue.

> 1) How do I improve throughput further after doing the following?
> i) Removed basicQos() call from the consumer code, so that the full
> capacity is used

Consider using a larger prefetch count instead of unlimited.

> ii) Turned off acknowledgements

You can choose between client or server-side acknowledgements.
Server-side acknowledgements are faster. Batching multiple client-side
acknowledgements is also fast.

> 2) How do I use multiple queues within the same process?

Tutorials 3-6 illustrate the use of multiple queues.

> Is there any code example which demonstrates this and efficient use of
> exchanges?

Exchanges are seldom a performance bottleneck.

> 3) What are the metrics I should look at to evaluate performance of the
> message queue?

It depends on your application. Latency and throughput are often important.


More information about the rabbitmq-discuss mailing list