Jmeter创建一个 JMS 主题的测试计划
新建一个 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 主题的测试计划的更多相关文章
- jmeter 建立一个JMS主题测试计划
创建两个线程组和组 每一个到10迭代. 总消息线程(6)x(1消息) (重复10次)= 60消息. 建立测试计划,您将使用 以下元素: 线程组 , JMS的出版商 , JMS用户 , 图结果 . 一般 ...
- Jmeter创建一个点对点的 JMS 测试计划
创建一个点对点的 JMS 测试计划 确保所需的jar文件位于JMeter lib目录中. 如果没有,关闭JMeter,复制jar文件并重新启动JMeter. 参见详细教程 在本节中,将学习如何创建测试 ...
- jmeter 建立一个JMS点对点测试计划
确保所需的jar文件在JMeter的 自由 目录中. 如果他们不是,关闭JMeter, 重启JMeter复制jar文件. 看到 开始 获取详细信息. 测试的设置是1与5线程发送4 thread ...
- jmeter 建立一个网络服务的测试计划
如何创建一个 测试计划 测试一个网络服务. 你会 创建5个用户发送请求到一页. 同时,你会告诉用户运行测试两次. 的总数 请求用户请求(5)x(1)x(重复2次)= 10 HTTP请求. 来 建立测试 ...
- 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等
转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...
- 转: 使用Jmeter创建ActiveMQ JMS POINT TO POINT请求,环境搭建、请求创建、插件安装、监听服务器资源等
转自:http://www.cnblogs.com/qianyiliushang/p/4348584.html 准备工作: 安装JDK,推荐使用1.7以上版本,并设置JAVA_HOME 下载Jmete ...
- Jmeter创建一个web测试计划
1. 下载Jmeter 下载地址:http://jmeter.apache.org/download_jmeter.cgi 下载后解压到你想“安装”的路径下,比如: D:\Program Files ...
- Jmeter创建一个http请求
1.点击'Test Plan'为测试计划命名为"创建用户接口" 2.新建一个[线程组],在[创建用户接口]处点击右键,选择[添加]-->[Threads(Users)]--& ...
- Jmeter创建一个简单的http接口用例
1.新建线程组 添加->Threads(Users)->线程组 线程组用来模拟用户进程. 2.添加http信息头管理器 添加->配置元件->http信息头管理器 Systemi ...
随机推荐
- (转)【javascript基础】原型与原型链
原文地址:http://www.cnblogs.com/allenxing/p/3527654.html 前言 原型是什么 理解原型对象 原型对象 isPrototypeOf hasOwnProper ...
- 一个GIS系统需具备的功能
数据的存储(数据结构) 图形显示 功能:拓扑分析 开源的GIS系统:QGIS,SharpMap 各个功能组件
- DE0-Nano-SoC开发板诡异的电源电路方案设计分析
这些日子一直在设计自己的Cyclone V SoC开发板,由于我们这种散兵游勇,是断然没有厂家和代理技术支持的,因此只能找各种现成方案参考.其实Cyclone V SoC芯片的外围电路设计不难,无非就 ...
- DELPHI如何获取某目录下的所有文件名?
//=====================================================================// 函数名称: FindPathFiles// 功能描述 ...
- [leetcode] 10. Symmetric Tree
这次我觉得我的智商太低,想了很久才写出来.题目是让求镜像二叉树判断,题目如下: Given a binary tree, check whether it is a mirror of itself ...
- MySQL 笔记整理(20) --幻读是什么,幻读有什么问题?
笔记记录自林晓斌(丁奇)老师的<MySQL实战45讲> (本篇内图片均来自丁奇老师的讲解,如有侵权,请联系我删除) 20) --幻读是什么,幻读有什么问题? 我们先来看看表结构和初始化数据 ...
- Mycat SqlServer 技术栈 实现 主从分离
先说明下版本:SqlServer2008R2 + MyCat 1.6 现在主从分离 一主一从 用的是 代码 写死的方式 转换下思路 一主两从 或者多从 怎么实现 负载均衡 或者 按权重调用相应库呢 ...
- trace sql log
C:\Windows\system32>cd /d d:\PSSDIAG\pssd_2k12_x64 d:\PSSDIAG\pssd_2k12_x64>pssdiag.cmd 2014/ ...
- ceph pg_num 数值计算
通常在创建pool之前,需要覆盖默认的pg_num,官方推荐: 若少于5个OSD, 设置pg_num为128. 5~10个OSD,设置pg_num为512. 10~50个OSD,设置pg_num为40 ...
- jQuery中的each, data, 插件
一. each() $(' ').each(function (){...}) jQuery.each(collection, callback(indexInArray, valueOfEleme ...