消费者限价?

时间:2019-10-23 19:51:18

标签: activemq-artemis

我写了一个生产者,它可以在23秒内发送超过12,000条消息,但是我的消费者似乎每分钟只能收到6000条消息。

我添加了指标插件来关注该队列中已确认的消息数量,但每分钟仅增加6k消息

2019-10-23 11:09:46,815 INFO  [io.micrometer.core.instrument.logging.LoggingMeterRegistry] artemis.messages.acknowledged{address=my.controller.queue,broker=0.0.0.0,queue=my.controller.queue} value=40156
2019-10-23 11:10:46,818 INFO  [io.micrometer.core.instrument.logging.LoggingMeterRegistry] artemis.messages.acknowledged{address=my.controller.queue,broker=0.0.0.0,queue=my.controller.queue} value=46157
以上日志的

message.count如下

2019-10-23 11:09:46,818 INFO  [io.micrometer.core.instrument.logging.LoggingMeterRegistry] artemis.unrouted.message.count{address=my.controller.queue,broker=0.0.0.0} value=2
2019-10-23 11:10:46,815 INFO  [io.micrometer.core.instrument.logging.LoggingMeterRegistry] artemis.delivering.durable.message.count{address=my.controller.queue,broker=0.0.0.0,queue=my.controller.queue} value=0

我有以下连接URL参数:

?minLargeMessageSize=10485760;compressLargeMessages=true;producerWindowSize=-1;reconnectAttempts=-1;confirmationWindowSize=1048576&consumerWindowSize=-1&throttleRate=-1&consumerMaxRate=-1

1 个答案:

答案 0 :(得分:0)

我能够弄清楚节流的原因。在我们的框架代码中,我们设置

com.google.common.util.concurrent.RateLimite outboundRateLimiter100

所以每分钟只有100*60=6000,消息每分钟发送出去。