代码之家  ›  专栏  ›  技术社区  ›  Kimi

rabbitmq消息接收速度慢于发布速度

  •  0
  • Kimi  · 技术社区  · 14 年前

    我们正在Windows Server上运行最新版本的rabbitmq 2.1.1,并使用.NET客户端。我们正在运行一个测试,如下所示:将500000条消息发布到跨客户机的非持久扇出交换,客户机使用自动删除队列。只有一个队列。Publisher每秒发送~10000封邮件。发送所有消息后,它将断开连接。rabbitmqctl工具显示队列大小为0,但接收器在几秒钟内仍在接收消息,它只接收了60%的消息。你知道为什么会有这样的延迟吗?你知道如何将其最小化吗?

    干杯!

    1 回复  |  直到 14 年前
        1
  •  1
  •   Marek    14 年前

    如果您使用的是basic.consume而不使用ack=true(禁用确认),那么服务器将只发送它拥有的所有消息。

    当服务器将所有消息发送给您的使用者(这就是队列为空的原因)时,就会出现这种行为,但它们可能仍然在网络上的某个地方或您的使用者中得到缓冲。