Java Rabbit MQ:提高队列刷新速度

Java Rabbit MQ:提高队列刷新速度,java,rabbitmq,Java,Rabbitmq,我有一个持久队列,它保存持久消息。消息以大约每秒10条消息的速率到达队列 客户端无法以该速率获取这些消息。因此,服务器上的队列不断增长 每条消息小于1KB,服务器和我的机器之间有一条健康的2Mbps线路。使用网络监控工具,我发现它几乎没有使用任何带宽 到目前为止,客户端对消息不做任何处理,只是将消息打印到控制台,所以客户端上的处理时间几乎为0 其他一些细节: 我使用的是java客户机。 我已将客户端设置为预回迁10000条消息。(也尝试使用默认值) 往返时间约为350毫秒。 消息被单独确认 可用

我有一个持久队列,它保存持久消息。消息以大约每秒10条消息的速率到达队列

客户端无法以该速率获取这些消息。因此,服务器上的队列不断增长

每条消息小于1KB,服务器和我的机器之间有一条健康的2Mbps线路。使用网络监控工具,我发现它几乎没有使用任何带宽

到目前为止,客户端对消息不做任何处理,只是将消息打印到控制台,所以客户端上的处理时间几乎为0

其他一些细节: 我使用的是java客户机。 我已将客户端设置为预回迁10000条消息。(也尝试使用默认值) 往返时间约为350毫秒。 消息被单独确认


可用资源没有得到充分利用,在我看来,每秒10条消息几乎算不上什么负载。如何加快处理速度,以便将队列中的消息更快地传输到客户端。可能使用某种批处理。

如果您每350毫秒单独确认一次消息,我预计消费者每秒可能会收到大约1/0.35或2.9条消息。但是,该协议可能没有那么有效,可能需要两次往返服务器才能确认消息并获取下一条消息。i、 e.每秒1.4条消息可能更现实

350毫秒的往返时间非常高,你可以环游世界,然后再回来,所以一个简单的解决方案可能不适合你。e、 伦敦->纽约->东京->伦敦


我会试着让一个经纪人代替你的客户。这样一来,您的客户和您当地的经纪人之间就可以进行往返了。

我预回迁了10000封邮件。因此,服务器可以在不等待ACK的情况下推送更多的消息。对吗?我会检查设置是否适用于这种情况。即使可以预取,也可能需要与代理进行检查以提交更改。