新建一个 JMS 主题的测试计划


JMS 需要下载一些可选的jar 文件。详细信息请参阅 第一章:新手入门。在本章节,将学习如何创建测试计划来测试JMS提供程序。创建5个订阅者和1个发布者。创建2个线程组并且设置每个线程组迭代10次。消息总数是(6个线程)x (1 个消息)x(重复10次)= 60 个消息。为了构建测试计划将使用以下元素:线程组 , JMS 发布者, JMS 订阅者, 和 图结果

关于JMS的一般注意事项:目前有两种 JMS 采样器(samplers)。一种使用 JMS 主题(topics),另一种使用队列(queues)。主题消息通常被称为发布/订阅消息。主题消息传递通常用于消息由生产者发布并由多个订阅者消费的情况。队列消息传递通常用于发件人期望响应的事务。消息系统与普通的HTTP请求完全不同。在HTTP中,一个用户发送一个请求并得到一个响应。消息系统可以通过同步和异步模式工作。JMS采样器需要JMS实现的jar文件(由于JMeter不提供JMS实现的jar,需要下载后放置lib库); 例如,来自Apache ActiveMQ。请参阅这里 查看 ActiveMQ 提供的 jar 列表。

1 添加用户


第一步是添加一个线程组元素。线程组告诉JMeter想要模拟的用户数量,发送请求的频率以及发送请求的数量。

添加线程组元素,首先选择测试计划,单击鼠标右键获取添加菜单,然后选择 添加 → 线程组。此时可以在测试计划下面看到线程组元素,如果不能,可以通过在测试计划元素上单击“展开”测试计划树。

接下来,你需要修改默认属性。如果尚未选择树中的线程组元素,请先选择。此时可以看到JMeter窗口右侧的线程组控制面板

首先为我们的线程组提供一个更具描述性的名称。在名称字段输入: Subscribers 。

接下来,将用户(称为线程)的数量增加到 5。

在下一个字段 Ramp-Up Period 中,将该值设置为 0 秒。这个属性告诉JMeter启动每个用户之间要延迟多久。例如,如果输入一个5秒的渐变周期,JMeter将在5秒钟内完成所有用户的启动。所以,如果我们有5个用户和一个5秒钟的Ramp-Up Period值,那么用户启动之间的延迟将是1秒(5个用户/ 5秒= 1个用户每秒)。如果将该值设置为0,则JMeter将立即启动所有用户。

清除循环计数字段标记为 “永远” 的复选框,并在此字段中输入值 10 。这个属性告诉JMeter重复测试的次数。如果输入循环计数值0,那么JMeter将只运行一次测试。如果要让JMeter反复运行测试计划,请勾选 永远 复选框。

重复该过程并添加另一个线程组。对于第二个线程组,在名称字段中输入:Publisher,将线程数设置为1,迭代设置为10。

在大多数应用程序中,您必须手动接受在控制面板中所做的更改。但是,在JMeter中,控制面板自动接受所做的更改。如果更改元素的名称,则在离开当前控制面板后使用新文本更新树(例如,选择另一个树元素时)。

2 增加JMS订阅者和发布者


确保需要的 jar 文件在JMeter的lib目录。如果不是,请关闭JMeter,将jar文件复制到对应的目录并重新启动JMeter。

首先添加 JMS Subscriber取样器到 Subscriber 线程组(添加 → Sampler → JMS Subscriber)。然后选择树中的JMS订阅者元素编辑如下参数:

1.修改名称字段值为:”Sample Subscriber“

2.如果 JMS 提供使用 jndi.properties 文件,则选中该框

3.在Initial Context Factory字段输入InitialContextFactory 类,例如:使用ActiveMQ 5.4,值为 “org.apache.activemq.jndi.ActiveMQInitialContextFactory“

4.在Provider URL字段输入提供程序URL。如果存在的话,是JNDI服务器的URL。例如:在本地机器使用默认端口的ActiveMQ 5.4 ,URL值是”tcp://localhost:61616“

5.在Connection Factory字段输入connection factory的名称。有关信息请参照JMS提供的官方文档。对于ActiveMQ,默认值是”ConnectionFactory“

6.在Destination字段输入消息主题的名称。对于ActiveMQ 动态主题(动态创建主题),示例值为”dynamicTopics/MyStaticTopic1“

备注: Setup 选择At Startup 意味着JMeter 从测试开始监听此字段配置的消息主题而没有更改名称的可能。Setup 选择 Each sample意味着JMeter在每个JMS订阅者采样器运行前重新开始监听,此配置允许Destination字段值是变量。

7.如果JMS提供程序需要身份认证,选择“required”并输入用户名和密码。例如: Orion JMS 需要身份认证,但是ActiveMQ和MQSeries不需要

8.在 Number of samples to aggregate 字段输入 10。通过采集器聚合消息,出于性能方面的考虑,小消息能够更快速的到达 。如果采集器不能聚合消息,JMeter不能够继续运行

9.如果想要读取响应消息,选中Read Response框

10.订阅者有两种客户端实现,如果其中一个客户端选项使得JMS 提供程序产生僵尸进程,则选中另一个

接下来添加 JMSPublisher 取样器到 Publisher 线程组(添加 → Sampler → JMS Publisher)。然后选择树中的JMS发布者元素编辑如下参数:

1.修改名称字段值为:”Sample Publisher“

2.如果JMS 提供使用 jndi.properties 文件,则选中该框

3.在Initial Context Factory字段输入InitialContextFactory 类,例如:使用ActiveMQ 5.4,值为 “org.apache.activemq.jndi.ActiveMQInitialContextFactory“

4.在Provider URL字段输入提供程序URL。如果存在的话,是JNDI服务器的URL。例如:在本地机器使用默认端口的ActiveMQ 5.4 ,URL值是”tcp://localhost:61616“

5.在Connection Factory字段输入connection factory的名称。有关信息请参照JMS提供的官方文档。对于ActiveMQ,默认值是”ConnectionFactory“

6.在Destination字段输入消息主题的名称。对于ActiveMQ 动态主题(动态创建主题),示例值为”dynamicTopics/MyStaticTopic1“

备注: Setup 选择At Startup 意味着JMeter 从测试开始监听此字段配置的消息主题而没有更改名称的可能。Setup 选择 Each sample意味着JMeter在每个JMS发布者采样器运行前重新开始监听,此配置允许Destination字段值是变量。

7.如果JMS提供程序需要身份认证,选择“required”并输入用户名和密码。例如: Orion JMS 需要身份认证,但是ActiveMQ和MQSeries不需要

8.在 Number of samples to aggregate 字段输入 10。通过采集器聚合消息,出于性能方面的考虑,小消息能够更快速的到达 。如果采集器不能聚合消息,JMeter不能够继续运行

9.选择合适的配置生成发布的消息。如果希望随机的选择消息,则将消息放置在目录中,并且 通过浏览选择目录

10.选择消息类型。如果消息是object类型或者映射消息,确保消息正确生成

3 增加测试结果监听器


需要添加到测试计划的最后一个元素是一个 监听器。这个元素负责将所有的HTTP请求结果存储在一个文件中,并呈现数据的可视化模型。

选择 测试计划 元素并添加一个 图形结果监听器(添加  →  监听器  →  图形结果)。接下来,需要指定输出文件的目录和文件名。可以将其输入到文件名字段中,也可以选择浏览按钮并浏览到目录,然后输入文件名。

Jmeter创建一个 JMS 主题的测试计划的更多相关文章

  1. jmeter 建立一个JMS主题测试计划

    创建两个线程组和组 每一个到10迭代. 总消息线程(6)x(1消息) (重复10次)= 60消息. 建立测试计划,您将使用 以下元素: 线程组 , JMS的出版商 , JMS用户 , 图结果 . 一般 ...

  2. Jmeter创建一个点对点的 JMS 测试计划

    创建一个点对点的 JMS 测试计划 确保所需的jar文件位于JMeter lib目录中. 如果没有,关闭JMeter,复制jar文件并重新启动JMeter. 参见详细教程 在本节中,将学习如何创建测试 ...

  3. jmeter 建立一个JMS点对点测试计划

      确保所需的jar文件在JMeter的 自由 目录中. 如果他们不是,关闭JMeter, 重启JMeter复制jar文件. 看到 开始 获取详细信息.   测试的设置是1与5线程发送4 thread ...

  4. jmeter 建立一个网络服务的测试计划

    如何创建一个 测试计划 测试一个网络服务. 你会 创建5个用户发送请求到一页. 同时,你会告诉用户运行测试两次. 的总数 请求用户请求(5)x(1)x(重复2次)= 10 HTTP请求. 来 建立测试 ...

  5. 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等

    转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...

  6. 转: 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等

    转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...

  7. Jmeter创建一个web测试计划

    1.  下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 下载后解压到你想“安装”的路径下,比如: D:\Program Files ...

  8. Jmeter创建一个http请求

    1.点击'Test Plan'为测试计划命名为"创建用户接口" 2.新建一个[线程组],在[创建用户接口]处点击右键,选择[添加]-->[Threads(Users)]--& ...

  9. Jmeter创建一个简单的http接口用例

    1.新建线程组 添加->Threads(Users)->线程组 线程组用来模拟用户进程. 2.添加http信息头管理器 添加->配置元件->http信息头管理器 Systemi ...

随机推荐

  1. swift 学习之 UIAlertViewController

    // //  PushViewController.swift //  tab // //  Created by su on 15/12/7. //  Copyright © 2015年 tian. ...

  2. 深水划水队项目---七天冲刺之day5

    站立式会议: 因为今天有成员回家,不能进行线下站立式会议,只能线上进行语音聊天 工作进度:  昨天完成的任务: 游戏功能的基本实现 商讨出如何实现游戏中的难度选择功能与道具功能 商讨出站立式会议能线下 ...

  3. 咏南中间件当作WEB SERVER使用方法

    咏南中间件当作WEB SERVER使用方法 1)开启咏南中间件 2)浏览器打开http://localhost:5566/web?page=echo.html

  4. 作业3:PSP记录耗时情况

    PSP2.1 Personal Software Process Stage Time planning 计划 10min Estimate 估计这个任务多久完成 150min Developing ...

  5. Buffer Pool--内存总结1

    物理地址空间是处理器用来访问位于总线上的所有部件的集合.在32位处理器上,地址总线为32位,寻址空间为4GB.在使用PAE的32位服务器上,地址总线为36位,寻址空间为64GB.在64位的处理器上生产 ...

  6. [Oracle]Oracle数据库CPU利用率很高解决方案

    Oracle数据库经常会遇到CPU利用率很高的情况,这种时候大都是数据库中存在着严重性能低下的SQL语句,这种SQL语句大大的消耗了CPU资源,导致整个系统性能低下.当然,引起严重性能低下的SQL语句 ...

  7. Handler运行机制

    https://blog.csdn.net/u012827296/article/details/51236614

  8. Android 文件读写高级

    往设备里写文件有几种选择,写在内存中,或SD卡中. 往内存里写好处是,可以写在 data/data/包名 文件夹里,而此文件是不可访问的(除非 root).这样可以增加文件的安全性,避免被误删.缺点也 ...

  9. 375. 猜数字大小 II leetcode java

    题目: 我们正在玩一个猜数游戏,游戏规则如下: 我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字. 每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了. 然而,当你猜了数字 x 并且猜错 ...

  10. egret的tween动画循环播放

    开发中发现了egret的自带tween动画中tweenGroup没有自动重新播放的代码,就使用了一种较笨的方法进行播放 比如:我在exml皮肤文件中写了一个动画组tweenGroup,并且在ts文件中 ...