On 20 August 2014 at 13:46:29, Lost ([hidden email]) wrote:
> > 1.csv: publish message 10000/s, every 100 microsecond to publish
> 1 message.
> 2.csv: publish message no rate limit, use a for loop to do it.
> The 1.csv delay is only 1 millisecond, but the 2.csv is need 50
> Is any possible to reduce message delay?
Flood publishing the broker means that you eventually will run into
flow control, which affects publishing latency. So this is largely expected.
If both your client and RabbitMQ run on the same machine, you'll also
see them competing for CPU and I/O resources. A program that publishes
in an endless loop will likely put a moderate stress on the machine,
however beefy it may be.
but in brief, if you send messages as fast as you can, all the internal
buffers in RabbitMQ fill up, and it takes longer for a message to work
its way through them. The good news is that even at 90% of the maximum
rate, the buffers tend to stay mostly empty and latency is much lower.
You should also be aware that RabbitMQ really doesn't make any
*guarantees* about latency; we try to keep it low but you may see
spikes. Low-latency messaging systems generally have designs that are
very different from RabbitMQ (summary: if the message is late, throw it