[rabbitmq-discuss] Low message publish throughput

Emile Joubert emile at rabbitmq.com
Wed Jan 26 11:36:43 GMT 2011

Hi Cameron,

On 25/01/11 14:42, Cameron Harris wrote:

> I attached a profiler to my publisher and I found that more than 90% of
> the CPU time was spent calling Flush in WriteFrame (called by
> BasicPublish). I created an alternate non-flushing code path in the
> RabbitMQ for BasicPublish, and the publishing speed went up to between
> 35 000 and 45 000 messages per second, and the messages still got to the
> client quickly.

I would advise caution when removing the flush. Synchronous methods 
during AMQP connection establishment can timeout and cause failure 
unless the stream is flushed.

I'd be interested to know whether disabling the socket nodelay option 
has any impact on your test. This would be another way of obtaining a 
different latency/throughput trade-off.



More information about the rabbitmq-discuss mailing list