1.下载AMQP插件
https://gitee.com/sanzao/Jmeter-rabbitmq上面支持中文有问题,可自行根据
new String(
String.getBytes
(“UTF-8”),“UTF-8”)
更改返回值的编码格式重新编译打包即可。
2.将下载的插件放到Jmeter--lib/ext目录,然后启动程序
可以看到"AMQP Publisher" 和 "AMQP Consumer" 2个选项

备注:除了ApacheJMeter-rabbitmq.jar还依赖 amqp-client-5.7.3.jar一起放到jmeter的\lib\ext下。
3.AMQP Publisher/Consumer 请求 介绍
fanout :一个发送到交换机上的消息都会被转发到与该交换机绑定的所有队列上。 Fanout 交换机发消息是最快的。
4.RabbitMQ页面截图

5.通过jmeter实现请求

发送的消息体内容

返回的结果树查看结果

此时也可以查看RabbitMQ的日志
[com.research.callcenter.customer.rabbit.ReceiverOfOrderChange:60] INFO com.research.callcenter.customer.rabbit.ReceiverOfOrderChange - mq消费同步数据:{"userId":"19d0ccd7074611eaa1b6fa163e61d8bc","loanId":"","eventType":""}
推送成功能被成功消费即可。
附:
近期做jmeter压力测试的一个报错,就是jmeter执行脚本结束后报:
The JVM should have exitted but did not.
The following non-daemon threads are still running (DestroyJavaVM is OK):
Thread[DestroyJavaVM,5,main], stackTrace:
如下所示:

原因:在执行java请求时会在jmeter线程之外,另外启动java线程,导致在脚本执行结束时JVM无法退出。
修改方法:在jmeter的bin目录下,修改jmeter.properties 中的jmeterengine.force.system.exit=true,去掉前面的#号,让配置生效。
本文介绍了如何使用JMeter进行RabbitMQ的压力测试。首先,需要下载AMQP插件并放入JMeter的lib/ext目录。启动Jmeter后,可以发现"AMQP Publisher"和"AMQP Consumer"组件。接着,详细说明了AMQP Publisher/Consumer的请求操作,并展示了RabbitMQ的页面截图。通过Jmeter发送消息体,从结果树中查看返回结果,确保消息被成功消费。在测试过程中遇到JVM未退出的问题,解决办法是修改jmeter.properties文件,启用jmeterengine.force.system.exit=true。
566





