JMeter - JMS 主题测试计划



构建 JMS 主题测试计划

现在让我们编写一个 JMeter 测试计划来测试 JMS 提供程序。我们将创建一个订阅者和一个发布者。我们将创建一个线程组,并将每个线程组设置为两次迭代。

首先,让我们从 **`/home/manisha/apache-jmeter2.9/bin/jmeter.sh`** 启动 JMeter。

添加用户

现在按照以下步骤创建一个线程组:

  • 右键单击测试计划

  • 选择添加 → 线程(用户)→ 线程组。线程组将添加到测试计划节点下。

  • 将此线程组重命名为 *JMS pub-sub user*。

Thread Group Added

我们将 *循环计数* 更改为两次。线程组的其余默认属性保持不变。这意味着一个线程组中的一个线程或一个用户通过请求队列发送两条消息。

添加 JMS 订阅者和发布者

让我们看看如何添加订阅者和发布者:

添加发布者

  • 通过选择添加 → 取样器 → JMS 发布者,将取样器 JMS 发布者添加到发布者元素。

  • 在树中选择 JMS 发布者元素。

  • 编辑以下属性:

属性 描述
名称 样本发布者 显示在树中的此元素的描述性名称。
如果 JMS 提供程序使用 jndi.properties 文件 选中复选框 使用 jndi.properties。请注意,该文件必须位于类路径上,例如通过更新 user.classpath JMeter 属性。如果未选择此选项,JMeter 将使用“JNDI 初始上下文工厂”和“提供程序 URL”字段来创建连接。
InitialContextFactory org.apache.activemq.jndi.ActiveMQInitialContextFactory 上下文工厂的名称。
提供程序 URL tcp://127.0.0.1:61616 JMS 提供程序的 URL。
连接工厂 ConnectionFactory JMS 提供程序的 URL。
目标 dynamicTopics/MyStaticTopic1 消息主题的名称。对于 ActiveMQ 动态主题(动态创建主题)。
要聚合的样本数量 2 要聚合的样本数量。
消息源 文本区域 获取消息的位置:

从文件 - 表示将读取引用的文件,并由所有样本重复使用。

从文件夹中随机选择文件 - 表示将从指定的文件夹中随机选择一个文件,此文件夹必须包含扩展名为 .dat 的文件(用于字节消息),或扩展名为 .txt 或 .obj 的文件(用于对象或文本消息)。

文本区域 - 用于文本或对象消息的消息。

消息类型 文本 文本、映射、对象消息或字节消息

其余属性保留默认值。以下屏幕截图显示了上述配置:

JMS publisher sampler

添加订阅者

现在我们已经定义了用户,是时候定义他们将执行的任务了。

  • 通过选择添加 → 取样器 → JMS 订阅者,将取样器 JMS 订阅者添加到订阅者元素。

  • 在树中选择 JMS 订阅者元素

  • 编辑以下属性:

属性 描述
名称 样本订阅者 显示在树中的此元素的描述性名称。
如果 JMS 提供程序使用 jndi.properties 文件 选中复选框 使用 jndi.properties。请注意,该文件必须位于类路径上,例如通过更新 user.classpath JMeter 属性。如果未选择此选项,JMeter 将使用“JNDI 初始上下文工厂”和“提供程序 URL”字段来创建连接。
InitialContextFactory org.apache.activemq.jndi.ActiveMQInitialContextFactory 上下文工厂的名称。
提供程序 URL tcp://127.0.0.1:61616 JMS 提供程序的 URL。
连接工厂 ConnectionFactory JMS 提供程序的 URL。
目标 dynamicTopics/MyStaticTopic1 消息主题的名称。对于 ActiveMQ 动态主题(动态创建主题)。
读取响应 复选框 取样器应读取响应。如果没有,则只返回响应长度。
超时 2000 要应用的超时时间(以毫秒为单位)。0=无。这是总的聚合超时,而不是每个样本的超时。

其余属性保留默认值。以下屏幕截图显示了上述配置:

JMS Subscriber Sampler

创建监听器

现在添加监听器元素。此元素负责将所有 JMS 请求的结果存储到文件中,并呈现数据的可视化模型。

  • 选择线程组元素。

  • 通过选择添加 > 监听器 > 查看结果树,添加查看结果树监听器。

JMS Pub Sub Test Listener

保存并执行测试计划

现在将上述测试计划保存为 *jms_pub_sub.jmx*。使用运行 → 启动选项执行此测试计划。

验证输出

发布者的输出

JMS Publish Sub Test Output1

JMS Publish Sub Test Output2

订阅者的输出

JMS Publish Sub Test Output3

JMS Publish Sub Test Output4

JMS Publish Sub Test Output5

返回到 ActiveMQ 的管理控制台。在这里,我们可以看到主题中的消息状态。

JMS Publish Sub Admin Console
jmeter_jms_test_plan.htm
广告