个人公众号

Jmeter 创建 JMS 主题测试计划

在这章,你将学习如何创建一个测试计划去测试 JMS 提供者。你将创建五个订阅者和一个发布者。你将创建两个线程组并且设置一个为重复 10 次。消息总 数是(6 线程)x(1 消息)x(重复 10 次)=60 个消息。为了构造测试计划,你将使用以下元件:线程组、JMS 发布者、JMS 订阅者和图标结果。

一般在。当前有两个 JMS 取样器。一个使用 JMS 主题,另一个是使用 JMS 队列。主题消息是通常说的发布/订阅消息。在案例里它一般用在一个被生产 者发布消息和多个订阅者接收消息的地方。队列消息一般被用在发送者期望得到一个响应时的事务。消息系统和普通的 HTTP 请求有很大不同。在 HTTP 中,单 个用户发送一个请求并且得到一个响应。消息系统可以工作在同步和异步模式。

添加用户

第一步是添加线程组元件。线程组告诉 JMeter 你想要模拟的用户数,用户多久发送一次请求,它们发送多少请求。

接着首先选择测试计划添加线程组元件,单击鼠标右键得到 Add 菜单,并且选择Add --> ThreadGroup。

你现在可以在测试计划下看到线程组元件。如果看不到这个元件,然后通过单击测试计划元件"展开"测试计划树。

下一步,你需要修改默认属性。如果你没有选择在树中的线程组,就选择它。你现在可以在 JMeter 窗口右部分看到线程组控制面板(见下 12.1)。

 

开始为线程组提供一个更有描述性的名字。在这个 name 文本域,输入Subscribers
下一步,增加用户数(叫做线程)到 5

在下一个文本域——Ramp-UP Period,使用默认值 0 秒。这个属性告诉 JMeter启动每个用户之间的时间间隔。例如,你输入 Ramp-Up Period 为五秒,JMeter将会在最后 5 秒结束前启动所有你的用户。所以,如果我们有 5 个用户和一个 5秒的 Ramp-Up Period,那么启动用户的延迟就是 1 秒(5 用户/5 秒=1 用户每秒)。如果你设置为那个值为零,那么 JMeter 将会立刻启动所以你的用户。

最后,清除标为"Forever"的复选框,并且在循环次数文本域中输入 2。这个属性告诉 JMeter 重复你的测试的次数。如果你输入循环次数为 0,那么 JMeter 将会运行你的测试一次。为了让 JMeter 重复运行你的测试计划,选择 Forever 复选框。

 

添加JMS订阅者和发布者

确认在 JMeter 的 lib 文件夹下有需要的 jar 包。如果没有,关闭 JMeter,拷贝jar 文件过去,重启 JMeter。
开始添加 JMS Subscriber 取样器到 Jakarta Users 元件(Add --> Sampler -->JMS Subscriber)。然后,在树中选择 JMS Subscriber 元件,并且编辑下列属性:

1. 改变 Name 域为"sample subscriber"
2. 如果 JMS 提供者使用 jndi.properties,选择这个复选框
3. 输入 InitialContextFactory 的类名
4. 输入提供者 URL,
5. 输入连接工厂名。请参考 JMS 提供者的文档信息
6. 输入消息主题名
7. 如果 JMS 提供者需要认证,选择"required"并且输入用户名和密码。例如,
Orion JMS 需要认证,然而 ActiveMQ 和 MQSeries 不需要
8. "ActiveMQ and MQSeries"中输入 10.因为性能原因,the sampler will
aggregate messages, since small messages will arrive very quickly.
If the sampler didn't aggregate the messages, JMeter wouldn't be
able to keep up.
9. 如果你需要读取响应,选择这个复选框
10.There are two client implementations for subscribers. If the JMS
provider exhibits zombie threads with one client, try the other.

1. 改变 Name 域为"sample publisher"

2. 如果 JMS 提供者使用 jndi.properties,选择这个复选框
3. 输入 InitialContextFactory 的类名
4. 输入提供者 URL,
5. 输入连接工厂名。请参考 JMS 提供者的文档信息
6. 输入消息主题名
7. 如果 JMS 提供者需要认证,选择"required"并且输入用户名和密码。例如,
Orion JMS 需要认证,然而 ActiveMQ 和 MQSeries 不需要
8. "ActiveMQ and MQSeries"中输入 10.因为性能原因,the sampler will
aggregate messages, since small messages will arrive very quickly.
If the sampler didn't aggregate the messages, JMeter wouldn't be
able to keep up.
9. Select the appropriate configuration for getting the message to
publish. If you want the sampler to randomly select the message,
place the messages in a directory and select the directory using
browse.
10.Select the message type. If the message is in object format, make
sure the message is generated correctly

图 12.3. JMS Publisher

 

 

 

 

 

 

 

posted @ 2018-07-26 11:21  张_俊_杰  阅读(141)  评论(0编辑  收藏  举报