JMeter JMS测试计划
在本节中,我们将学习如何编写一个简单的测试计划来测试Java Messaging Service(JMS)。
出于测试目的,我们使用Apache ActiveMQ。有各种JMS服务器,如:glassfish3,IBM WebSphere MQ(以前称为MQSeries),Tibco等。
在继续本节之前,请按照以下简单步骤在系统上安装Apache ActiveMQ。
- 从以下链接下载最新版本的Apache ActiveMQ:
http://activemq.apache.org/download.html - 将存档解压缩到一个方便的目录中。 在例子中,下载目录是“D:/apache-activemq-5.15.3”。
- 从命令控制台运行以下命令以启动ActiveMQ服务器:
activemq start
可以通过访问地址的管理界面来验证ActiveMQ服务器是否已启动 - http:// localhost:8161/admin/
此地址会将您重定向到其身份验证页面,其中需要用户名和密码。 输入用户名和密码为:admin。
下图显示了ActiveMQ服务器的默认界面。
现在,将activemq-all-5.15.3.jar文件从ActiveMQ解压缩目录复制到C:\\JMeter\\apache-jmeter-4.0\\lib文件夹。
我们知道JMS支持两种类型的消息传递 -
- 点对点消息传递
- 主题消息或发布/订阅消息
因此,在接下来的章节,我们首先编写一个JMeter测试计划来测试JMS点对点消息传递解决方案。
创建JMeter测试计划
- 进入到
JMeter/bin文件夹,双击jmeter.bat文件以启动JMeter界面。 - 单击“Test Plan”节点。
- 将此测试计划节点重命名为JMSpoint_to_point。
- 选择JMSpoint_to_point节点,然后右键单击所选项。
- 鼠标悬停在“add”选项上,然后将显示元素列表。
- 选择“Threads (Users) > Thread Group”。
- 将此线程组元素重命名为JMS User。
- 将循环计数( loop count )更改为2。
- 其余的默认属性保持不变。

添加JMS点对点采样器
- 选择JMS用户元素(线程组),然后右键单击所选项。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Sampler> JMS Point-to-point。
在JMS Point-to-point sampler元素中设置以下字段:
- QueueuConnectionFactory - ConnectionFactory(活动MQ中连接工厂的缺省JNDI条目)
- JNDI名称请求队列 - Q.REQ(JMeter的JNDI名称,用于建立连接工厂和队列之间的连接)
- JNDI名称接收队列 - Q.REQ(同样的JNDI名称也用于响应)
- 通信方式 - request_reply
- 使用请求消息ID - 已选中
- 使用响应消息ID - 已选中
- 时间(毫秒) - 2000(如果没有及时恢复,则JMeter收到消息时会使用超时,然后该项被标记为错误)
- 内容 - 点对点测试
InitialContextFactory- org.apache.activemq.jndi.ActiveMQInitialContextFactory(Active MQ的标准InitialContextFactory)- JNDI属性 - 名称:
queue.Q.REQ,值:example.A - 提供者URL - tcp://localhost:61616(攻击ActiveMQ的地址和端口)


添加监听器
- 选择JMS user 元素。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Listener -> View Results Tree选项。

保存并执行测试计划
- 单击File > Save Test Plan as。
- 将整个测试计划保存为JMS Point-to-Point.jmx。

- 单击Run > Start以执行测试计划。
验证输出
可以在侦听器中看到以下输出。


可以在ActiveMQ管理控制台中看到队列中的消息状态选项。

现在编写一个JMeter测试计划来测试JMS提供程序。 对于此测试,我们必须创建一个订阅者和一个发布者。
创建JMeter测试计划
- 进入到JMeter/bin文件夹,双击
jmeter.bat文件以启动JMeter界面。 - 单击“Test Plan”节点。
- 将此测试计划节点重命名为JMS_topic_test。
- 选择JMS_topic_test 节点,然后右键单击所选项。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择\”Threads (Users) > Thread Group\”。
- 将此Thread Group元素重命名为JMS pub-sub user。
- 将循环计数(loop count)更改为
2。 - 其余的默认属性保持不变。

添加JMS订阅服务器和发布服务器
- 选择JMS pub-sub user元素(线程组),然后右键单击所选项。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Sampler -> JMS Publisher。

在JMS Publisher sampler元素中设置以下字段:
- 名称 - Sample Publisher
- jndi.properties文件 - 未选中(JMeter使用“JNDI初始上下文工厂”和“提供者URL”字段来创建连接)
- 初始上下文工厂 - org.apache.activemq.jndi.Active MQ初始上下文工厂
- 提供者URL -
tcp://localhost:61616 - 连接工厂 - 连接工厂
- 目的地 - 动态主题/我的静态主题1
- 要聚合的样本数 - 2(要聚合的样本数)
- 消息来源 - Textarea
- 消息类型 - 文本(用于文本或对象消息的消息)
- 剩余的属性保持不变。

现在将添加一个订阅者。
- 选择JMS pub-sub user元素(线程组),然后右键单击所选项。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Sampler -> JMS Subscriber。

在JMS Subscriber sampler元素中设置以下字段:
- 名称 - Sample Subscriber
- jndi.properties文件 - 未选中(JMeter使用“JNDI初始上下文工厂”和“提供者URL”字段来创建连接)
- 初始上下文工厂 - org.apache.activemq.jndi.Active MQ初始上下文工厂
- 提供者URL -
tcp://localhost:61616 - 连接工厂 - 连接工厂
- 目的地 - 动态主题/我的静态主题1
- 要聚合的样本数 - 2(要聚合的样本数)
- 存储响应 - 打勾(采样器应读取响应。如果不是,则仅返回响应长度。)
- 超时 - 2000
- 剩余的属性保持不变。

添加监听器
- 选择JMS pub-sub user元素。
- 鼠标悬停在“Add”选项上,然后将显示元素列表。
- 选择Listener> View Results Tree选项。

保存并执行测试计划
- 单击File > Save Test Plan as。
- 将整个测试计划保存为JMS_topic_test.jmx 。

- 单击Run > Start以执行测试计划。
验证输出
发布者输出:


订阅者输出:


可以在ActiveMQ管理控制台的主题选项中查看消息状态。

JMeter JMS测试计划的更多相关文章
- Jmeter创建一个点对点的 JMS 测试计划
创建一个点对点的 JMS 测试计划 确保所需的jar文件位于JMeter lib目录中. 如果没有,关闭JMeter,复制jar文件并重新启动JMeter. 参见详细教程 在本节中,将学习如何创建测试 ...
- Jmeter 同一个测试计划下的多个线程组 执行顺序 希望调整为顺序执行
用Jmeter做自动化测试,一个测试计划中添加多个线程组, 每个线程组的功能测试,希望是一个线程组执行完毕后,接着执行下一个线程组下的请求 Jmeter默认多个线程组之间是并行关系 需要在测试计划下勾 ...
- jmeter—建立测试计划
一个测试计划描述了一系列 Jmeter 运行时要执行的步骤.一个完整的测试计划包含 一个或者多个线程组,逻 辑控制,取样发生控制,监听器,定时器,断言和配置元件. 一. 建立测试计划 在这一部分,你将 ...
- Jmeter之测试计划
一.打开jmeter时会有一个测试计划默认显示,界面如下: 二.测试计划各个配置项说明 1.名称:即整个测试计划的名称,已实际项目命名为好: 2.注释:即添加一些备注信息,以便后期回顾时查看: 3.用 ...
- Jmeter学习——测试计划元件【转】
1. Test Plan (测试计划) 用来描述一个性能测试,包含与本次性能测试所有相关的功能.也就说本次性能测试的所有内容是于基于一个计划的. 下面看一下一个计划下面都有哪些主要的功能模块(右键单击 ...
- JMeter FTP测试计划
为了演示测试目的,我们将使用公共可用的FTP位置,可以使用它来测试文件的下载. 您可以使用市场上现有的任何可用的演示FTP位置.我们使用URL下的FTP位置: https://dlptest.com/ ...
- JMeter Web测试计划
在本节中,将学习如何创建测试网页的基本测试计划. 出于演示测试目的,我们将测试URL - https://www.yiibai.com/ 的网页性能. 创建JMeter测试计划 进入到JMeter安装 ...
- JMeter数据库测试计划
在系统上安装数据库服务器之后. 按着这些次序: 创建名为testdb的数据库. 创建表 - tb_user. 将记录插入到tb_user表中. 下图显示了创建的数据库及其记录. 注意:您需要将相应的J ...
- JMeter Http测试计划
一.新建Http测试计划 二.添加线程组 设定5个线程,循环2次 三.添加Http请求 以百度为例: 四.添加监听:察看结果树 五.执行测试 5个用户,循环2次,共发了10个请求.
随机推荐
- hdu4325 线段树 成段更新
#include<stdio.h> #include<string.h> #include<algorithm> using namespace std; #def ...
- hdu1907 尼姆博弈
尼姆博弈的性质. 最后一个取输.若a1^a2^a3...^a4=0表示利他态T,不然为利己态S.充裕堆:1个堆里的个数大于2.T2表示充裕堆大于等于2,T1表示充裕堆大于等于1,T0表示无充裕堆.S2 ...
- oracle loader
控制文件的格式 load data infile '数据文件名' into table 表名 (first_name position(01:14) char, sur ...
- Idea创建maven项目 标签: idea 2016-12-28 21:51 605人阅读 评论(27) 收藏
很久之前就听说了idea,界面也的确比eclipse好看,不过一直没有机会使用,这两天试用了一下,代码提示方面的确很好用,不过使用习惯跟eclipse还是有一些差距的,下面介绍一下如何用idea创建一 ...
- Java练习 SDUT-3081_谁是最强女汉子
谁是最强的女汉子 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 众所周知,一年一度的女汉子大赛又来啦.由于最近女汉子比 ...
- 18.libgdx制作预览图,背景移动循环,改变地图颜色
经过构思,游戏将分为两部分, 1,预览图,只负责展示世界形势 2,根据预览图生成的战役项 现在要记录的是我制作预览图的部分 1.预览图只有实际地图的1/4,首先生成地图(建议不要缩放以前地图,由于误差 ...
- 项目中遇到的undo表空间不足的替换
1.查找数据库的UNDO表空间名 select name from v$tablespace; ...
- Python基础之(三)----PyGame安装步骤
http://blog.csdn.net/qq_33166080/article/details/68928563 如果你已经有一定的编程经验,那么学习一门新语言最快的方式就是拿着一个比较中型的项目, ...
- Android Xutils框架HttpUtil Get请求缓存问题
话说,今天和服务器开发人员小小的逗逼了一下,为啥呢? 话说今天有个"收藏产品"的请求接口,是get request的哦,我客户端写好接口后,点击"收藏按钮",返 ...
- POJ2976 题解 0/1分数规划入门题 二分
题目链接:http://poj.org/problem?id=2976 关于 0/1分数规划 参见 这篇博客 实现代码如下: #include <cstdio> #include < ...