[rabbitmq-discuss] Low message publish throughput
emile at rabbitmq.com
Wed Jan 26 11:36:43 GMT 2011
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