2012-08-09 75 views
0

我对RabbitMQ相当陌生,并且正在计划编写一些测试以了解RabbitMQ中的消息系统如何随着交换机的使用数量而扩展。特别是我很好奇,看看如何增加交换将会影响CPU,内存和IO的使用。RabbitMQ N交换测试

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

我应该运行它,因为我发布消息到交易所?或者当我将队列绑定到交易所时运行它?或者当消息被从交换机推入队列?

干杯。

回答

1

您可能会发现Web管理插件是查看系统当前性能的最简单方法。再次看看我在另一个问题中链接到的​​。

这是值得我们思考在你的测试变量:

  • 是您的邮件将是持续性? (请参阅delivery_mode = 2)这会增加您的磁盘IO
  • 您的消息有多大?这会带来很大的区别吞吐量,如果他们是大的(几KB的,那么你可能想看看压缩),在网络性能方面,而且内存(和磁盘IO,如果他们是持久的)

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

一些有用的链接:

RabbitMQ Performance Measurements, part 1

RabbitMQ Performance Measurements, part 2