Java Rabbitn交换测试

Java Rabbitn交换测试,java,testing,rabbitmq,benchmarking,rabbitmq-exchange,Java,Testing,Rabbitmq,Benchmarking,Rabbitmq Exchange,我对RabbitMQ相当陌生,我正计划编写一些测试,以了解RabbitMQ中的消息系统如何随着使用的交换数量而扩展。特别是,我很想知道增加N交换将如何影响CPU、内存和IO的使用 我注意到RabbitMQ附带一个rabbitmqct1.bat应用程序,该应用程序有一个状态命令,将输出系统相关信息。我遇到的问题是决定在消息传递周期中何时运行基准测试实用程序 我应该在向交易所发布消息时运行它吗?或者在将队列绑定到exchange时运行它?或者当消息从交换机推送到队列时 干杯。您可能会发现web管理插

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

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

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


干杯。

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

值得考虑测试中的变量:

  • 您的消息将是持久的吗?(请参阅交付模式=2)这将增加您的磁盘IO
  • 你的信息有多大?这将对吞吐量产生很大的影响,如果吞吐量很大(几kb,那么您可能需要查看压缩),网络性能和内存(以及磁盘IO,如果它们是持久性的)
还值得注意的是,当队列没有消费者时,队列性能会下降,因此,如果队列性能稳步增长,那么性能会下降,RabbitMQ队列在理想情况下始终处于(或接近)0消息

以下是一些有用的链接: