构建 JMS 点对点测试计划
确保所需的 jar 文件位于 JMeter 的 lib 目录中。如果不是,请关闭 JMeter,复制 jar 文件并重新启动 JMeter。有关详细信息,请参阅 入门 。
在本节中,你将学习如何创建 测试计划 来测试 JMS 点对点消息传递解决方案。测试的设置是 1 个线程组,其中 5 个线程通过请求队列发送 4 条消息。一个固定的回复队列将用于监控回复消息。要构建测试计划,你将使用以下元素: 线程组 、 JMS 点对点 和 图形结果 。
关于 JMS 的一般说明:目前有两个 JMS 采样器。一种使用 JMS 主题,另一种使用队列。主题消息通常称为发布/订阅消息。主题消息传递通常用于消息由生产者发布并由多个订阅者消费的情况。JMS 采样器需要 JMS 实现 jar 文件;例如,来自 Apache ActiveMQ。有关 ActiveMQ 提供的 jar 列表,请参见 此处 。
10.1 添加线程组
你想要对每个 JMeter 测试计划执行的第一步是添加一个 线程组 元素。线程组告诉 JMeter 你想模拟的用户数量,用户应该多久发送一次请求,以及他们应该发送多少个请求。
继续添加 ThreadGroup 元素,首先选择 Test Plan,单击鼠标右键以获取 Add 菜单,然后选择 Add → ThreadGroup。
你现在应该在测试计划下看到线程组元素。如果你没有看到该元素,则通过单击测试计划
元素展开
测试计划树。
接下来,你需要修改默认属性。如果尚未选择树中的线程组元素,请选择它。你现在应该在 JMeter 窗口的右侧看到线程组控制面板(参见下面的图 10.1)
图 10.1。具有默认值的线程组
首先为我们的线程组提供一个更具描述性的名称。在名称字段中,输入 Point-to-Point。
接下来,将用户数(称为线程)增加到 5。
在下一个字段 Ramp-Up Period 中,将值设置为 0 秒。该属性告诉 JMeter 在启动每个用户之间延迟多长时间。例如,如果你输入 5 秒的 Ramp-Up Period,JMeter 将在 5 秒结束时完成启动所有用户。因此,如果我们有 5 个用户和 5 秒的 Ramp-Up Period,那么启动用户之间的延迟将为 1 秒(5 个用户 / 5 秒 = 1 个用户/秒)。如果你将该值设置为 0,那么 JMeter 将立即启动你的所有用户。
清除标有Forever
的复选框,并在循环计数字段中输入值 4 。此属性告诉 JMeter 重复测试多少次。如果你输入循环计数值 0,那么 JMeter 将只运行一次测试。要让 JMeter 重复运行你的测试计划,请选中 Forever 复选框。
在大多数应用程序中,你必须手动接受你在控制面板中所做的更改。但是,在 JMeter 中,控制面板会在你进行更改时自动接受你的更改。如果更改元素的名称,则在离开控制面板后(例如,选择另一个树元素时),将用新文本更新树。
10.2 添加 JMS 点对点采样器
首先将采样器 JMS 点对点 添加 到点对点元素(Add → Sampler → JMS Point-to-Point)。然后,在树中选择 JMS 点对点采样器元素。在构建示例时,将提供一个适用于 ActiveMQ 3.0 的配置。
姓名 | 价值 | 描述 |
---|---|---|
JMS 资源 | ||
队列连接工厂 | 连接工厂 | 这是 ActiveMQ 中连接工厂的默认 JNDI 条目。 |
JNDI 名称请求队列 | Q.请求 | 这等于 JNDI 属性中定义的 JNDI 名称。 |
JNDI 名称回复队列 | Q.RPL | 这等于 JNDI 属性中定义的 JNDI 名称。 |
消息属性 | ||
沟通方式 | 请求响应 | 这意味着你至少需要一个在 JMeter 之外运行并且能够响应请求的服务。此服务必须侦听请求队列并将消息发送到 message.getJMSReplyTo()引用的队列 |
内容 | 测试 | 这只是消息的内容。 |
JMS 属性 | ActiveMQ 不需要任何东西。 | |
JNDI 属性 | ||
初始上下文工厂 | org.apache.activemq.jndi.ActiveMQInitialContextFactory | ActiveMQ 的标准 InitialContextFactory |
特性 | ||
队列.Q.REQ | 例子.A | 这为指向队列示例的请求队列定义了一个 JNDI 名称 Q.REQ 。 |
队列.Q.RPL | 例子.B | 这为指向队列示例的回复队列定义了一个 JNDI 名称 Q.RPL。B |
提供者网址 | ||
提供者网址 | tcp://localhost:61616 | 这定义了 ActiveMQ 消息传递系统的 URL。 |
10.3 添加监听器以查看存储测试结果
你需要添加到测试计划的最后一个元素是 Listener 。该元素负责将 JMS 请求的所有结果存储在一个文件中并呈现数据的可视化模型。
选择 Thread Group 元素并添加一个 Graph Results 侦听器(Add → Listener → Graph Results)。接下来,你需要指定输出文件的目录和文件名。你可以在文件名字段中键入它,或者选择浏览
按钮并浏览到一个目录,然后输入一个文件名。
图 10.2。图表结果监听器