目录
前言
ActiveMQ 介绍
准备工作
编写jndi.properties添加到ApacheJMeter.jar 中
下载 ActiveMQ
配置 Jmeter 进行测试 点对点 (Queues 队列)
配置 Jmeter 进行测试 发布/订阅 (Topic 队列)
配置发布 Publisher
配置订阅 Subscriber
总结
JMeter是一个功能强大的性能测试工具,可以用于测试各种应用程序的性能,包括JMS(Java Message Service)和ActiveMQ。JMS是一种Java平台上的消息传递标准,而ActiveMQ是一个流行的开源JMS消息代理。
JMS 常见 2 种消息模型:
3 . 虚拟 Topics
为什么说 2 种消息模型,这里会有第三种,因为 Topics 队列的性质决定,当我要发消息给很多订阅,但是如果订阅监听服务挂掉,就不能收到这个消息,导致消息未发布到这个订阅,所以引申出第三个消息模型,虚拟 Topics.
广播出 1 条消息给 ActiveMQ Topics 队列,ActiveMQ 会自动转换给要分发消息的订阅 Queues 队列.然后订阅监听 Queues 队列去取走消息.这 2 种消息模型的结合,产生出第三种消息模型,虚拟 Topics.
以 ActiveMQ 为例子,使用 jmeter 测试 JMS.
jndi.properties
添加到ApacheJMeter.jar
中jndi.properties
到 jmeter/bin 目录下java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory
java.naming.provider.url = tcp://IP:61616
connectionFactoryNames = connectionFactory
queue.T_MDM_Q = Queue.T_MDM
queue.T_IPS_Q= Queue.T_IPS
topic.T_MDM_T= VirtualTopic.T_MDM
topic.T_IPS_T= VirtualTopic.T_IPS
java.naming.factory.initial:ActiveMQ jar包中 init 所需的 类名
java.naming.provider.url:ActiveMQ的地址
connectionFactoryNames:链接工厂名称
queue.T_MDM_Q:队列名称
queue:说明是queue队列
T_MDM_Q:自定义字段,在后面用来指向队列名称
同理topic.T_MDM_T
ApacheJMeter.jar
中 在 jmeter/bin 目录下运行jar uf ApacheJMeter.jar jndi.properties
把 ActiveMQ 下 activemq-all-x.x.x.jar
放到 Jmeter/lib 下
右键》添加》sampler》JMS point-to-point 添加一个队列的界面
QueueConnection Factory:
jndi.properties
中 connectionFactoryNames 字段
JNDI Name Request queue:生产者向哪个队列插入消息,jndi.properties
中对应待测队列名称的 queue.xxxxx
JNDI Name Reply queue:消费者从哪个队列取消息,jndi.properties
中对应待测队列名称的 queue.xxxxx
Content:消息内容
InitialContextFactory:org.apache.activemq.jndi.ActiveMQInitialContextFactory
Provider URL:ActiveMQ 地址
右键》添加》sampler》JMS Publisher 添加一个 Publisher 界面
InitialContextFactory:org.apache.activemq.jndi.ActiveMQInitialContextFactory
Provider URL:ActiveMQ 地址
QueueConnection Factory:jndi.properties
中 connectionFactoryNames 字段
Destination:发布往队列的名称,jndi.properties
中对应 Topic 队列名称的 topic.xxxx
Text Massage:发布的消息
右键》添加》sampler》JMS Subscriber 添加一个 Publisher 界面
上面只介绍了 ActiveMQ 的配置方法,因为我也只调了 ActiveMQ,其他 JMS 中间件没有试过,如果你们项目中需要,可以试一下.
作为一位过来人也是希望大家少走一些弯路
在这里我给大家分享一些自动化测试前进之路的必须品,希望能对你带来帮助。
(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等)
相信能使你更好的进步!
点击下方小卡片