使用easynetq进行rabbitmq队列延迟

时间:2016-05-21 04:34:45

标签: c# rabbitmq easynetq

我使用easynetq驱动程序为rabbitmq编写了一个简单的发布\订阅工具。然而,可能似乎是可怕的。我发送带有日期时间字段的消息,并测量订户接收的时间。

队列延迟=达到订阅者的日期时间 - 以秒为单位的原始日期时间

假设Queue是FIFO应该是。我注意到随着时间的推移,队列的延迟大大增加。我无法解释结果。任何类似的经历。

消息大小约为200Kb,订阅者中的预取计数设置为5。出版商确认已开启。

enter image description here

1 个答案:

答案 0 :(得分:0)

我注意到EasyNetQ存在一些性能问题并且reported them in their Github project page。但是,我在几个月内没有收到他们的回复,所以也许他们对调查不感兴趣。下面是发布 n 消息时发布/订阅的时间消耗图表,其中 n = 1,5,10,50,100,500 。随着消息速率的增加,延迟也会增加。

enter image description here

这些性能影响是我们从EasyNetQ迁移到RawRabbit的原因之一,这是一个vNext兼容框架,其API类似于EasyNetQ:s。这可能是值得检查你的项目的东西?如果您遇到与RawRabbit类似的性能问题,那么您是free to register an issue,我会看一下,因为我是主要作者之一。

希望这有帮助!