[rabbitmq-discuss] Basic.Acks terribly slow
Simon MacMullen
simon at rabbitmq.com
Fri May 9 11:45:10 BST 2014
On 09/05/14 02:19, Arun Rao wrote:
> Hi guys -
>
> Producers (.NET clients) are publishing messages to RabbitMQ cluster at
> a rate of 800 to 900 messages/sec. At this rate, RabbitMQ response times
> to Ack producers goes significantly higher. It takes longer than 500ms
> to ack with a delivery-tag, per channel. (Total Connections: 3000+ at
> all times.)
Fundamentally latency is likely to go up when you push the server
harder; when any given piece of work needs to be done the component that
needs to do it is doing something else that's unlikely to be avoidable.
> Objective: Reduce RabbitMQ server response time to less than 100ms when
> acknowledging messages on each channel. (Please see we are reusing
> connections.)
You don't say whether the messages are persistent but I would guess from
the performance numbers you give that they are. In that case you could
lower latency by moving to an SSD.
But really, if it's a problem that publish confirms are taking 500ms to
come back then you might have the wrong expectations; RabbitMQ tries to
optimise for throughput rather than latency when deciding when to send
confirms.
Is each producer waiting for each confirm to come back before publishing
the next message? If so I suggest not doing that; allow publishers to
have multiple outstanding messages and handle confirms as they come in.
If you are already doing that, why is waiting 500ms a big deal?
Cheers, Simon
--
Simon MacMullen
RabbitMQ, Pivotal
More information about the rabbitmq-discuss
mailing list