Reputation: 3242
We have a rabbitmq queue with multiple java programs on different linux servers consuming from that queue. Sometimes the queue fills up such that we need to purge the queue and loose messages.
Looking at the CPU usage on the client machines, the clients do not seem to be the bootleneck. Their usage is at about 25% on a multicore box. Hence I guess the network might be the bottleneck. Is there anyway I can see this from the management interface of rabbitmq?
Thanks
Upvotes: 1
Views: 1584
Reputation: 1113
Your clients may actually be losing connection to RabbitMQ. I have run into similar problems when after some prolonged period of clients being inactive - for example when the producers don't fill the queue for a long time, the clients have nothing to consume - the TCP connection between clients and RabbitMQ can get interrupted, usually by a load balancer but the client never finds out that the connection was dropped. Here is how to test for it: when you find your clients are no longer consuming from the queue, kill the clients and restart them and see if the queue starts to reduce the message backlog. If yes, that is exactly your problem.
Upvotes: 1