0

我对 RabbitMQ 还很陌生,我计划编写一些测试来了解 RabbitMQ 中的消息系统如何随着使用的交换数量而扩展。特别是我很想知道增加N 次交换将如何影响 CPU、内存和 IO 使用率。

我注意到 RabbitMQ 附带了一个 rabbitmqct1.bat 应用程序,它有一个状态命令,可以输出系统相关信息。我遇到的问题是决定何时在消息传递周期中运行基准测试实用程序。

我应该在向交易所发布消息时运行它吗?或者在我将队列绑定到交换机时运行它?或者当消息从交易所推送到队列时?

干杯。

4

1 回答 1

1

您可能会发现 Web 管理插件是查看系统当前性能的最简单方法。再一次,看看我在你的另一个问题中链接到的RabbitMQ 的性能和可扩展性路由拓扑。

值得考虑测试中的变量:

  • 你的消息会持久吗?(见delivery_mode = 2)这会增加你的磁盘IO
  • 你的消息有多大?这将对吞吐量产生很大影响,如果它们很大(几kb,那么你可能想要查看压缩),在网络性能和内存(以及磁盘IO,如果它们是持久的)方面

还值得注意的是,当队列没有消费者时,队列性能会下降,所以如果它稳定增长,那么性能就会下降,理想情况下,RabbitMQ 队列将始终处于(或接近)0 条消息。

一些有用的链接:

RabbitMQ 性能测量,第 1 部分

RabbitMQ 性能测量,第 2 部分

于 2012-08-13T21:59:47.837 回答