2010-11-03 923 views
0

我们在Windows服务器上运行最新版本的RabbitMQ 2.1.1,并使用.Net客户端。我们正在进行一项测试,如下所示:向超耐用扇出交换发布500000条消息,客户端使用自动删除队列。只有一个队列。发布者每秒发送约10K条消息。在所有消息发送后,它断开连接。 rabbitmqctl工具显示队列大小为0,但接收者仍然收到消息几秒钟,它只收到了60%的消息。你知道为什么会有这样的延迟,以及如何最小化?RabbitMQ消息接收速度比发布慢

干杯!

回答

1

如果您使用的是带no_ack = True(禁用确认)的basic.consume,服务器将只发送它所有的消息。

当服务器已将所有消息发送给消费者时(这就是为什么队列为空),但它们可能仍会缓存在网络中的某处或消费者中。