我们有一个Java应用程序,它使用Spring AMQP从rabbitmq获取消息。对于某些队列,消费者数量没有增加,导致消息交付速度变慢。例如,即使最大消费者设置为50,但对于9000条消息的加载,消费者数量在大多数时间内保持为6。
但是,其他队列的情况并非如此,即其他队列的消费者计数达到35。
我们使用SimpleMessageListenerContainer的setMaxConcurrentConsumers API来设置最大消费者数。
有人能帮我弄明白吗?
配置:
并发用户数:4
最大并发用户数:50
1条答案
按热度按时间mklgxw1f1#
当问这样的问题时,你必须总是显示配置。编辑你的问题时要有完整的详细信息。
这取决于您的配置。默认情况下,每10秒只添加一个新的使用者,并且只有在现有使用者收到10条消息而没有任何间隙的情况下才添加。
如果这仍然不能回答你的问题,打开DEBUG日志记录。如果你不能从中找到答案,把日志(至少覆盖
startConsumerMinInterval
毫秒)发到pastebin或dropbox之类的地方。