Question

According to the Pika documentation "the RabbitMQ broker uses TCP Backpressure to slow your client if it is delivering messages too fast." I've registered a backpressure callback and it has yet to be called. My queue has more than 40 million messages and it's growing. By setting the backpressure multiplier to -1 I can get my callback to be called on every message publish, but that's only useful for debugging.

Was it helpful?

Solution

It's not really when "your client... is delivering messages too fast", but when any client is delivering messages too fast.

RabbitMQ monitors the amount of memory it's using and will exert backpressure when it goes over a certain fraction of the physical memory on the machine. By default this fraction is 0.4, but it can be changed. See http://www.rabbitmq.com/memory.html for more details.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top