JMS 主题测试计划(JMS Topic Test Plan)
构建JMS主题测试计划
现在让我们编写一个JMeter测试计划来测试JMS提供程序。 我们将创建一个订阅者和一个发布者。 我们将创建一个线程组并将每个线程组设置为两次迭代
首先让我们从/home/manisha/apache-jmeter2.9/bin/jmeter.sh.启动JMeter /home/manisha/apache-jmeter2.9/bin/jmeter.sh. 。
添加用户
现在创建一个Thread组,如下所示 -
- 右键单击“测试计划”
- 选择“添加”>“线程(用户)”>“线程组”。 线程组将添加到“测试计划”节点下。
- 将此线程组重命名为JMS pub-sub user 。
我们将Loop Count更改为两个。 保留线程组的其余默认属性。 这意味着一个线程组有一个线程或一个用户通过请求队列发送两个消息。
添加JMS订阅服务器和发布服务器
让我们看看如何添加订阅者和发布者 -
Add Publisher
- 通过选择Add> Sampler> JMS Publisher将采样器JMS Publisher添加到Publisher元素。
- 在树中选择JMS Publisher元素。
- 编辑以下属性 -
属性 | 值 | 描述 |
---|---|---|
Name | 样本发布者 | 树中显示的此元素的描述性名称。 |
如果JMS提供程序使用jndi.properties文件 | 选中此框 | 使用jndi.properties。 请注意,该文件必须位于类路径上 - 例如,通过更新user.classpath JMeter属性。 如果未选择此选项,JMeter将使用“JNDI初始上下文工厂”和“提供程序URL”字段来创建连接。 |
InitialContextFactory | org apache activemq jndi Active MQInitial Context Factory | 上下文工厂的名称。 |
提供者URL | tcp://localhost:61616 | jms提供程序的URL。 |
连接工厂 | ConnectionFactory | JMS提供程序的URL。 |
Destination | dynamicTopics/MyStaticTopic1 | 消息主题的名称。 对于ActiveMQ动态主题(动态创建主题)。 |
要聚合的样本数 | 2 | 要聚合的样本数。 |
消息来源 | Textarea | 在哪里获取消息 - 从文件 - 表示所有样本将读取和重用所引用的文件。 文件夹中的随机文件 - 表示将从指定的文件夹中选择随机文件,此文件夹必须包含扩展名为.dat的文件用于字节消息,或扩展名为.txt或.obj的文件用于对象或文本消息 文本区域 - 用于文本或对象消息的消息 |
消息类型 | Text | 文本,地图,对象消息或字节消息 |
其余属性将保留默认值。 以下屏幕截图显示了上述配置 -
Add Subscriber
现在我们已经定义了用户,现在是时候定义他们将要执行的任务了。
通过选择Add> Sampler> JMS Subscriber将采样器JMS订阅服务器添加到Subscribers元素。
在树中选择JMS Subscriber元素
编辑以下属性 -
属性 | 值 | 描述 |
---|---|---|
Name | 样本订阅者 | 树中显示的此元素的描述性名称。 |
如果JMS提供程序使用jndi.properties文件 | 选中此框 | 使用jndi.properties。 请注意,该文件必须位于类路径上 - 例如,通过更新user.classpath JMeter属性。 如果未选择此选项,JMeter将使用“JNDI初始上下文工厂”和“提供程序URL”字段来创建连接。 |
InitialContextFactory | org apache activemq jndi Active MQInitial Context Factory | 上下文工厂的名称。 |
提供者URL | tcp://localhost:61616 | JMS提供程序的URL。 |
连接工厂 | ConnectionFactory | JMS提供程序的URL。 |
Destination | dynamicTopics/MyStaticTopic1 | 消息主题的名称。 对于ActiveMQ动态主题(动态创建主题)。 |
阅读回复 | 复选框 | 采样器应该读取响应。 如果不是,则仅返回响应长度。 |
Timeout | 2000 | 要应用的超时(以毫秒为单位)。 0 =无。 这是整体聚合超时,而不是每个样本。 |
其余属性将保留默认值。 以下屏幕截图显示了上述配置 -
创建监听器
现在添加Listener元素。 此元素负责将JMS请求的所有结果存储在文件中,并呈现数据的可视化模型。
- 选择“线程组”元素。
- 选择“添加”>“侦听器”>“查看结果树”,添加“查看结果树”侦听器。
保存并执行测试计划
现在将上述测试计划保存为jms_pub_sub.jmx 。 使用“运行”“启动”选项执行此测试计划。
验证输出
Output for Publisher
Output for Subscriber
返回ActiveMQ的管理控制台。 在这里,我们可以在主题中看到消息状态。