我有一个包含以下参数的队列:
有一个静态铲配置为处理此队列,另一个服务器设置为目标。铲斗配置:
{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}
我的问题是,&#34; queuename&#34;的交付/获取和确认率从未超过50 / s。队列,因此导致队列中的巨大积累(700万)。
我想知道更改prefetch_count是否会提高消息速率?
另外&#34; Ack要求&#34;为队列的使用者启用。默认值为:on_confirm。如果强制确认消息,它是否会限制消息速率?
答案 0 :(得分:0)
这里可能会发生一些可能影响消息速率的事情,包括网络速度,消息大小,RabbitMQ Broker的内存大小等。您可以更改预取计数并使其更高,这将有助于一些。由于队列中的消息数量很多,您可能正在达到流量控制,请查看此article。