前言
- 在进行新架构相关服务的开发测试过程中,为了测试应用 , 需要经常进行MQ消息的发送 , 目前采用的MQ消息的发送是在MQ官方提供的Web页面上面进行的,但是在该页面上测试存在诸多不方便的地方,比如每次都要找到对应的队列,再找到对应的消息复制过去 , 若需要测试多个队列 , 这样进行频繁的切换会非常麻烦 , 为便于MQ的测试 , 本来我想写个工具去处理这个问题 , 后来发现原来Jmeter就可以胜任 , 因此有了这篇教程 , 送给有缘人
步骤
-
从官网下载Jmeter , 推荐下载5.0版本 , 目前最新版是5.1版本 , 但是这个版本不知道为什么 , 在我电脑上使用的时候无法进行MQ消息的发送 , 5.0版本下载链接: https://archive.apache.org/dist/jmeter/binaries/apache-jmeter-5.0.zip
-
在部署ActiveMQ服务器的时候我们发现在其目录下会存在一个
activemq-all-xxx.jar
的jar包,如下图所示 -
将
activemq-all-xxx.jar
包复制到Jmeter的lib文件夹下面 -
启动Jmeter应用程序 , 启动脚本在 bin文件夹下,叫做
jmeter.bat
-
在当前
test plan
下右键选择add-->Threads-->Thread Group
-
再在当前线程组下创建
JMS Point-to-Point
选中当前线程组,右键选择add-->Sampler-->JMS Point-to-Point
-
按照表格填写对应的内容,对应填写相关内容
KEY value 备注 QueueConnection Factory ConnectionFactory 队列连接工厂,默认值 JNDI name Request queue Q.REQ JNDI请求队列,默认值 Communication style request_only 仅进行请求发送 Timeout 2000 超时时间,2s Content 发送的MQ消息内容 发送的消息内容 Initial Context Factory org.apache.activemq.jndi.ActiveMQInitialContextFactory 初始化内容工厂 JNDI Properties Name固定填写queue.Q.REQ,Value填写具体的队列名称 Provider URL tcp://192.168.81.45:61616 MQ地址配置 -
右键线程组,选择
add-->listener-->View Reuslts Tree
创建视图结果树 -
点击运行按钮进行消息队列的发送,可在视图结果树中查看消息发送状态,若为绿色,则发送成功,为红色,发送失败
-
可直接对该线程组进行复制粘贴以配置其他消息, 另外,需注意,Jmeter在运行的时候会运行所有的线程组, 因此 , 若不需发送消息的线程组,对其右键,选择
Disable
关闭,只保留需要发送消息的线程组, 点击运行发送消息