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 ...
随机推荐
- 洛谷P1486 [NOI2004]郁闷的出纳员(splay)
题目描述 OIER公司是一家大型专业化软件公司,有着数以万计的员工.作为一名出纳员,我的任务之一便是统计每位员工的工资.这本来是一份不错的工作,但是令人郁闷的是,我们的老板反复无常,经常调整员工的工资 ...
- hdu 4281 Judges' response(多旅行商&DP)
Judges' response Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- Android-封装JSON数据(JSON对象/JSON数组)
Android-封装JSON数据(JSON对象/JSON数组),一般情况下不会在Android端封装JSON的数据,因为封装JSON的数据是在服务器端进行封装了,Android更多的工作是解析(JSO ...
- Postgresql 分区表 一
Postgres 10 新特性 分区表 http://francs3.blog.163.com/blog/static/40576727201742103158135/ Postgres 10 之前分 ...
- [转载]SQL Server行列转换实现
可以用聚合函数配合CASE语句实现 PIVOT的一般语法是:PIVOT(聚合函数(列) FOR 列 in (…) )AS P 完整语法: table_source PIVOT( 聚合函数(value_ ...
- 将引用了第三方jar包的Java项目打包成jar文件的两种方法
方案一:用Eclipse自带的Export功能 步骤1:准备主清单文件 “MANIFEST.MF”, 由于是打包引用了第三方jar包的Java项目,故需要自定义配置文件MANIFEST.MF,在该项目 ...
- mono+jexus 部署Asp.Net Mvc5之CompilationException2
好不容易在ubuntu上搭建了mono+jexus,欣喜若狂的部署上发布的网站,急忙打开,成功运行. 但是别高兴的太早,当我打开WebApi帮助页时出现了CompilationException. 一 ...
- 基于ASP.NET MVC 利用(Aspose+Pdfobject.js) 实现在线预览Word、Excel、PPT、PDF文件
#region VS2010版本以及以上版本源码下载地址:http://download.csdn.net/download/u012949335/10231812 VS2012版本以及以上版本源码下 ...
- 【ocp-12c】最新Oracle OCP-071考试题库(44题)
44.(9-12)choose all that apply View the Exhibit and examine the details of the ORDER_ITEMS table. Ev ...
- 【OCP-12c】CUUG 071题库考试原题及答案解析(24)
24. choose the best answer In the EMPLOYEES table there are 1000 rows and employees are working in t ...