0

我有一个带有以下参数的队列:

  • x-ha-政策:全部
  • 耐用:真实

配置了一个静态铲子来处理这个队列,另一个服务器被设置为目标。铲子配置:

{sources, [ {broker, "amqp://web:web@thisserver.spc/%2F"} ]},
{destinations, [ {broker, "amqp://web:web@remoteserver.spc/%2F"} ]},
{queue, <<"queuename">>},
{prefetch_count, 10},
{publish_fields, [ {exchange, <<"exchangename">>} ]},
{reconnect_delay, 5}

我的问题是“queuename”队列的传递/获取和确认速率永远不会超过 50/s,因此会导致队列中的大量堆积(700 万)。

我想知道更改 prefetch_count 是否会增加消息率?

还为队列的消费者启用了“需要确认”。其默认值为:on_confirm。如果消息被强制确认,是否会限制消息速率?

4

1 回答 1

0

这里可能会发生一些可能影响消息速率的事情,包括网络速度、消息大小、RabbitMQ 代理的内存大小等。您可以更改预取计数并使其更高,这将有所帮助。由于队列中有大量消息,您可能会达到流量控制,请查看这篇文章

于 2015-07-23T17:12:23.887 回答