Java RabbitMq队列已满

Java RabbitMq队列已满,java,rabbitmq,Java,Rabbitmq,我们有一个rabbitmq队列,在不同的linux服务器上有多个java程序从该队列中消费。有时队列已满,因此我们需要清除队列并释放消息 从客户机上的CPU使用情况来看,客户机似乎不是bootleneck。在多芯盒上,它们的使用率约为25%。因此,我想网络可能是瓶颈。我是否可以从rabbitmq的管理界面看到这一点 谢谢您的客户端可能实际上正在失去与RabbitMQ的连接。我遇到过类似的问题,当客户端长时间处于非活动状态后(例如,当生产者长时间不填充队列时,客户端无需消费),客户端和Rabbit

我们有一个rabbitmq队列,在不同的linux服务器上有多个java程序从该队列中消费。有时队列已满,因此我们需要清除队列并释放消息

从客户机上的CPU使用情况来看,客户机似乎不是bootleneck。在多芯盒上,它们的使用率约为25%。因此,我想网络可能是瓶颈。我是否可以从rabbitmq的管理界面看到这一点


谢谢

您的客户端可能实际上正在失去与RabbitMQ的连接。我遇到过类似的问题,当客户端长时间处于非活动状态后(例如,当生产者长时间不填充队列时,客户端无需消费),客户端和RabbitMQ之间的TCP连接可能会中断,通常由负载平衡器执行,但客户端从未发现连接已断开。下面是测试方法:当您发现您的客户机不再从队列中消费时,杀死客户机并重新启动它们,然后查看队列是否开始减少消息积压。如果是,那正是你的问题。

你看到的问题是什么?消费者处理速度不够快?我想知道是消费者还是网络速度不够快。也可能是由于各种问题导致IO性能下降。没有RabbitMQ版本、操作系统类型和版本(有时甚至系统libs版本也很重要)、平均消息大小、队列数量、消息流、文件系统类型、光盘规格、raid、其他并行运行的软件等具体细节,很难猜出问题的原因。对于StackOverflow,整个问题看起来有点离题,而更多的是关于在不指定步骤和env的情况下消除bug来重现问题。我会看看这篇博文和
basic.qos
用法:谢谢。事实上,rabbit和消费者之间确实有负载平衡器。我来检查一下。