[rabbitmq-discuss] Low message publish throughput

Emile Joubert emile at rabbitmq.com
Wed Jan 26 12:51:02 GMT 2011

Hi Cameron,

On 26/01/11 12:27, Cameron Harris wrote:

> I just commented out the line where it sets socket nodelay, and it
> increased publish to about 9-10k messages per second on the Win7 system,
> which is a nice improvement. Is there anywhere I can configure this with
> the standard client library, rather than building my own with it hacked
> out? The Java client had a way of overriding the socket factory function.

Not at present. We plan to improve the library so that setting socket 
options becomes easy, but until then you will need to modify the sources.

> I think the throughput is still being held back significantly by the
> explicit flushing. It'd still be nice if we could not flush after every
> publish or manually take control over when publish flushes occur while
> still maintaining stability of the library/connection. Are there any
> plans regarding the flushing behavior, or is Rabbit's primary focus
> going to be strictly low latency over high throughput?

Your use-case will probably benefit if flushes only occurred for 
synchronous AMQP methods. The current behaviour was motivated more by 
reliability than latency. It should be possible to maintain that 
reliability by restricting flushing to synchronous methods though. I 
will file a bug for this.



More information about the rabbitmq-discuss mailing list