0

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

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

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

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

在此处输入图像描述

4

1 回答 1

0

我注意到 EasyNetQ 存在一些性能问题,并在他们的 Github 项目页面中报告了这些问题。但是,我已经有几个月没有收到他们的回复了,所以他们可能对调查没有兴趣。下面是发布n条消息时发布/订阅的时间消耗图表,其中n = 1, 5, 10, 50, 100, 500。随着消息速率的增加,延迟也会增加。

在此处输入图像描述

这些性能影响是我们从 EasyNetQ 迁移到 的原因之一,这是一个RawRabbit具有类似于 EasyNetQ:s 的 API 的 vNext 兼容框架。这可能对您的项目值得一试?如果您遇到类似的性能问题RawRabbit,您可以自由注册问题,我会看看它,因为我是主要作者之一。

希望这可以帮助!

于 2016-05-24T06:01:03.540 回答