rmznbyk 1
rmznbyk 1

Reputation: 1206

Rabbitmq can't manage after a time

I have a rabbitmq queue that each data which publish to this queue is approximately 1 MB size. Every second 4 or 5 data publish to this queue.

Consumer consume each data one by one(Fetch=1). When i stop the consumer service 30000 queued message became ready to consume. When i start the consumer its consume rate 30/s+. It is just fine for now.

Hovewer in day light publisher never stops publishing and consumer can handle the queue. But at night publisher don't send data anymore(it is not error. It is how it suppose to be). At the first light of the next day publisher starts to publish 7 data per second. This time rabbit queue is started to go up continuesly.

First thought was that consumer can't handle the data. But it can consume 30/s+ data every sec.

I know that consume speed depends on consumer.

BUT.

I think that rabbit have some mechanism that after a time it decrease the consumer speed. Maybe it is lock mechanism maybe internal logs. I couldn't find any solution. Please help

This is what i mean

This picture shows the limit of consumer speed.

enter image description here

Upvotes: 0

Views: 727

Answers (1)

rmznbyk 1
rmznbyk 1

Reputation: 1206

Thanks to Lutz Horn

How is the consumer implemented? Does it use a push or a pull approach? It only consumes 3.8 messages per second. Edit: The screenshot shows a Consumer utilisation of 0%. This means that RabbitMQ always has to wait for the consumer to be able to handle the next message. RabbitMQ can never just push a published message to the consumer. See https://www.rabbitmq.com/blog/2014/04/14/finding-bottlenecks-with-rabbitmq-3-3/– Lutz Horn

Upvotes: 1

Related Questions