jMeter - JMS 主题测试计划
构建 JMS 主题测试计划
现在让我们编写一个 JMeter 测试计划来测试 JMS 提供程序。我们将创建一个订阅者和一个发布者。我们将创建一个线程组,并将每个线程组设置为两次迭代
首先让我们从 /home/manisha/apache-jmeter2.9/bin/jmeter.sh. 启动 JMeter。
添加用户
现在创建一个线程组,如下所示 −
右键单击测试计划
选择添加 → 线程(用户)→ 线程组。线程组将添加到测试计划节点下。
将此线程组重命名为 JMS pub-sub user。

我们将 循环计数 更改为 2。线程组的其余默认属性均保留。这意味着一个线程组(一个线程或一个用户)通过请求队列分别发送两条消息。
添加 JMS 订阅者和发布者
让我们看看如何添加订阅者和发布者 −
添加发布者
通过选择添加 → 采样器 → 将采样器 JMS 发布者添加到发布者元素JMS Publisher。
在树中选择 JMS Publisher 元素。
编辑以下属性 −
属性 | 值 | 描述 |
---|---|---|
Name | Sample Publisher | 树中显示的此元素的描述性名称。 |
If the JMS provider uses the jndi.properties file | check the box | 使用 jndi.properties。请注意,该文件必须位于类路径 − 上,例如通过更新 user.classpath JMeter 属性。如果未选择此选项,JMeter 将使用"JNDI 初始上下文工厂"和"提供程序 URL"字段来创建连接。 |
InitialContextFactory | org apache activemq jndi Active MQInitial Context Factory | 上下文工厂的名称。 |
Provider URL | tcp://localhost:61616 | jms 提供程序的 URL。 |
Connection Factory | ConnectionFactory | JMS 提供程序的 URL。 |
Destination | dynamicTopics/MyStaticTopic1 | 消息主题的名称。适用于 ActiveMQ 动态主题(动态创建主题)。 |
Number of samples to aggregate | 2 | 要聚合的样本数量。 |
Message source | Textarea | 从哪里获取消息 −
来自文件 − 表示所有样本都将读取和重用引用的文件。 来自文件夹的随机文件 − 表示将从指定的文件夹中选择一个随机文件,此文件夹必须包含扩展名为 .dat 的字节消息文件,或扩展名为 .txt 或 .obj 的对象或文本消息文件 文本区域 − 用于文本或对象消息的消息 |
Message type | Text | 文本、映射、对象消息或字节消息 |
其余属性保留默认值。以下屏幕截图显示了上述配置 −

添加订阅者
现在我们已经定义了用户,是时候定义他们将要执行的任务了。
通过选择添加 → 采样器 → 将采样器 JMS 订阅者添加到订阅者元素JMS 订阅者。
在树中选择 JMS 订阅者元素
编辑以下属性 −
属性 | 值 | 描述 |
---|---|---|
Name | Sample Subscriber | 树中显示的此元素的描述性名称。 |
If the JMS provider uses the jndi.properties file | check the box | 使用 jndi.properties。请注意,该文件必须位于类路径 − 上,例如通过更新 user.classpath JMeter 属性。如果未选择此选项,JMeter 将使用"JNDI 初始上下文工厂"和"提供程序 URL"字段来创建连接。 |
InitialContextFactory | org apache activemq jndi Active MQInitial Context Factory | 上下文工厂的名称。 |
Provider URL | tcp://localhost:61616 | JMS 提供者的 URL。 |
Connection Factory | ConnectionFactory | JMS 提供者的 URL。 |
Destination | dynamicTopics/MyStaticTopic1 | 消息主题的名称。适用于 ActiveMQ 动态主题(动态创建主题)。 |
Read response | Check Box | 采样器应该读取响应。如果没有,则仅返回响应长度。 |
Timeout | 2000 | 要应用的超时时间,以毫秒为单位。0=无。这是总体聚合超时时间,而不是每个样本的超时时间。 |
其余属性保留默认值。以下屏幕截图显示了上述配置 −

创建监听器
现在添加监听器元素。此元素负责将 JMS 请求的所有结果存储在文件中并呈现数据的可视模型。
选择线程组元素。
通过选择添加 > 监听器 > 添加查看结果树监听器查看结果树。

保存并执行测试计划
现在将上述测试计划保存为 jms_pub_sub.jmx。使用 Run → 执行此测试计划开始选项。
验证输出
发布者的输出


订阅者的输出



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