jmeter压测rabbitMQ
一、安装RabbitMQ测试插件
这个插件需要编译
1.安装ant环境,配置环境变量
下载地址:https://dlcdn.apache.org//ant/binaries/apache-ant-1.9.16-bin.zip
下载解压即可用,记得配置下环境变量 Path

cmd直接运行ant,如下表示配置ok

2、AMQP源码下载并打包
下载地址:https://github.com/jlavallee/JMeter-Rabbit-AMQP
下载JMeter-Rabbit-AMQP插件并解压,将JMeter安装路径下的\lib\ext\ApacheJMeter_core.jar复制到JMeter-Rabbit-AMQP插件根目录下

修改JMeter-Rabbit-AMQP插件根目录下build.xml文件

在JMeter-Rabbit-AMQP插件根目录下打开cmd,运行ant进行编译打包,稍等几分钟


打包完成后,将JMeter-Rabbit-AMQP-master\target\dist\JMeterAMQP.jar文件复制到JMeter的lib/ext/目录
3.RabbitMQ客户端插件amqp-client-3.4.4.jar下载
地址https://repo1.maven.org/maven2/com/rabbitmq/amqp-client/3.4.4/amqp-client-3.4.4.jar
下载并放到JMeter安装目录下的/lib/ext目录
4.重启JMeter创建线程组就可以看到AMQP取样器了

二、压测
• Basic queue 简单队列:一个Producer对一个Consumer,功能类似于ActiveMQ的P2P模式
• Work queue 轮询分发 : 一个Producer对应多个 Consumer,可以采用轮询或其他算法来设置Consumer进行消费,Producer的消息会被其中某一个Consumer消费
• Fanout Exchange:生产者不将消息发送到消息队列,而是发送到交换机,每个队列绑定到交换机,生产者发送的消息经过交换机到达队列,实现一个消息被多个消费者消费的目的,功能类似于ActiveMQ的Topic/Subscriber模式
• Direct Exchange:路由模式,根据key进行交换机和队列绑定
• Topic Exchange:通配符模式,一个消费者队列可以有多个消费者实例,其中只有1个实例会接收到消息
较为常用的有Direct Exchange和FanoutMode,
本文以DirectExchange为例说明如何使用Jmeter处理RabbitMQ消息中间件。在使用Jmeter发送和消费RabbitMQ消息以前,我们首先通过控制台在RabbitMQ里新建一个Direct Exchange的交换机,并通过Key绑定相应队列