JMeter之JMS接口测试
JMeter中的JMS Point-to Point、JMS Publisher和JMS Subscriber分别用于发送JMS的PTP消息和PUB/SUB消息,可以选择使用JMeter来测试JMS。
MOM(消息中间件)作为消息数据交换的平台,也是影响应用执行效率的潜在环节。在Java程序中,是通过JMS与MOM进行交互的。作为Java实现的性能测试工具JMeter也能使用JMS对应用的消息交换和相关的数据处理能力进行测试。在整个测试过程中,JMeter测试的重点是消息的产生者和消费者的能力,而不是MOM本身。JMeter虽然能使用JMS对MOM进行测试,但是它本身并没有提供JMS需要使用的包(实现类)。因此在使用JMeter测试JMS时需要使用到具体的MOM的相关jar包。以下结合流行的开源消息中间件ActiveMQ来演示如何使用JMeter来实现对JMS的测试。
1、安装并启动ActiveMQ服务
2、测试前的准备
使用JMeter进行压力测试时,所有的JMeter依赖的包需要复制到%JMETER_HOME%/lib目录下。对于ActiveMQ来说,就是复制%ACTIVEMQ_HOME%/lib目录下jar包。JMeter在测试时使用了JNDI,为了提供JNDI提供者的信息,需要提供jndi.properties。同时需要将jndi.properties放到JMeter的%JMETER_HOME%/lib和%JMETER_HOME%/bin目录中,还需要将jndi.properties与%JMETER_HOME%/bin目录下的ApacheJMeter.jar打包在一起。对于ActiveMQ,jndi.properties的演示内容如下:
1 #java.naming.factory.initial = org.activemq.jndi.ActiveMQInitialContextFactory2 java.naming.factory.initial = org.apache.activemq.jndi.ActiveMQInitialContextFactory3 java.naming.provider.url = tcp://localhost:616164 5 #指定connectionFactory的jndi名字,多个名字之间可以逗号分隔。6 #以下为例:7 #对于topic,使用(TopicConnectionFactory)context.lookup("connectionFactry")8 #对于queue,(QueueConnectionFactory)context.lookup("connectionFactory")9 connectionFactoryNames = connectionFactory 10 11 #注册queue,格式: 12 #queue.[jndiName] = [physicalName] 13 #使用时:(Queue)context.lookup("jndiName"),此处是MyQueue 14 queue.MyQueue = example.MyQueue 15 16 #注册topic,格式: 17 # topic.[jndiName] = [physicalName] 18 #使用时:(Topic)context.lookup("jndiName"),此处是MyTopic 19 topic.MyTopic = example.MyTopic
3、测试JMS的PTP模型
对于点对点模型,JMeter只提供了一种Sampler:JMS Point-to-Point。如图所示建立测试计划:
QueueConnection Factory:连接工厂,输入jndi配置文件中配置的connectionFactory
JNDI name Request queue:请求队列名,输入jndi配置文件中配置的MyQueue
JNDI name Receive queue:接收队列名,输入jndi配置文件中配置的MyQueue
Content:消息内容,比如输入:this is a test
Initial Context Factory:输入org.apache.activemq.jndi.ActiveMQInitialContextFactory
Provider URL:提供者URL,即安装的ActiveMQ的服务地址tcp://yourIP:61616
运行调试时通过监视器元件查看是否发送成功,如下说明发送成功:
4、测试JMS的PUB/SUB模型
在实际测试时,发布者和订阅者并不是需要同时(异步)出现的。比如有时我们可能想测试单位时间内消息发布者的消息产生量,此时就不需要消息发布者,只需要订阅者就可以了。本例为了说明这两种Sampler的使用,建立两个JMeter实例分别用于发送和接收消息。
1)首先新建如下订阅者的测试计划:
勾选使用jndi配置文件,并分别输入jndi中配置的连接工厂和目的地名称,如上图所示,点击运行下的启动,使用消息消费者处于接收状态。
2)然后新建如下发布者的测试计划:
勾选使用jndi配置文件,并分别输入jndi中配置的连接工厂和目的地名称以及要发送的消息内容,此处为:this is a pubish test,如上图所示,点击运行下的启动,以发送消息,查看监视器元件检查消息是否发送成功,如下说明发送成功:
检查消息消费者是否接收到消息,如下说明接收成功:
上面即完成了JMeter对JMS的基本测试演示。
转载于:https://www.cnblogs.com/yezhaohui/p/5026434.html
JMeter之JMS接口测试相关推荐
- 使用Jmeter进行http接口测试
使用Jmeter进行http接口测试 前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此 ...
- jmeter可以做接口测试和压力测试(较全)
jmeter是apache公司基于java开发的一款开源压力测试工具,体积小,功能全,使用方便,是一个比较轻量级的测试工具,使用起来非常简单.因为jmeter是java开发的,所以运行的时候必须先要安 ...
- 利用jmeter模拟手机接口测试
利用jmeter模拟手机接口测试 (由于批量上传图片不方便,可以到博主网站查阅原版博客: https://blog.zhenglin.work/jmeter/use_jmeter_test_app.h ...
- Jmeter TCP socket接口测试(一)
1.tcp取样器相关知识: 使用JMeter对套接字进行测试,有以下的选项可以做控制: TCPClient classname: 缺省的org.apache.jmeter.protocol.tcp.s ...
- Jmeter进行http接口测试,这一篇就搞定
jmeter-http接口测试脚本 jmeter进行http接口测试的主要步骤 (1.添加线程组 2.添加http请求 3.在http请求中写入接口的URL,路径,请求方式,参数 4.添加查看结果树 ...
- Jmeter做单接口测试-超详细步骤讲解
测试项目:本章节将以此测试项目为大家讲解怎么使用jmeter做一个接口测试 CSDN - 专业开发者社区CSDN是全球知名中文IT技术交流平台,创建于1999年,包含原创博客.精品问答.职业培训.技术 ...
- 1.3 使用jmeter进行http接口测试
来源: http://www.cnblogs.com/alisapan/p/6150309.html 此篇纯是搬运记载.. 一.测试需求描述 1. 本次测试的接口为http服务端接口 2. 接口的 ...
- jmeter测试java接口测试_简单易学的测试攻略:JMeter测试Java请求示例
JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现,大家可以到官网下载源代码和查看相关文档. 关于使用JMeter进行JDBC数据库测试.HTTP请求接 ...
- 聊一聊Jmeter与多接口测试
背景 前面两篇聊过了 JMeter 的 简单使用 和 参数化,主要都还是单接口的. 很多时候,一个业务要走完,它会依赖多个接口,而且这些接口会有依赖性. 好比说,我想查询一个订单信息,那么大前提肯定是 ...
最新文章
- 如何查看一个jar文件是用什么版本jdk编译的?
- Delphi的彩蛋 (好像Delphi5~Delphi7都可以)
- Linux教程:内核怎样管理你的内存
- deepin中zz_如何解决R中的FizzBu​​zz问题
- c语言位运算负数的实例_0基础学习C语言第三章:位运算
- Python_面向对象_zipfile和tarfile
- 资料汇总--java开发程序员必备技能
- [转]详细易懂的Linux makefile教程(7)
- Y Combinator 创业课 2018 @北京
- 计算机基础知识 笔试,计算机基础知识笔试题
- 基于浏览器的开源“管理+开发”工具,Pivotal MySQL*Web正式上线!
- PHP 常用算法集锦
- 计算机485通讯原理,用RS-485设计的多机通信接口电路
- office 2010 安装
- 永中office linux卸载,永中集成Office在Ubuntu下的安装和卸载方法
- 如何把map的value转为list_如何在Java中将Map转换为List?
- 青柠开车Spring Cloud(七) —— 断路器 Hystrix
- 石子合并问题(no circle)
- 区块链技术在旅游业中的应用探索
- 突发!又一MCU大厂暂停接单!
热门文章
- 巨型帧linux检测,linux – KVM来宾和主机之间的巨型帧?
- MIUI 13:带来全新小部件,新增三大隐私保护功能等
- 谷歌网络代理工具_谷歌更新了Dialogflow AI引擎,帮助客户创建更好的虚拟代理...
- exec族函数、system函数、popen函数、PATH
- java%4d_java积累
- enkey java_近期的Java项目(前端)
- Java 按位运算符(,|,^,,)
- python爬虫安装错误与解决方式
- 静态创意和动态创意_我在22岁时学到的关于创意指导的知识
- qt 设计师缩放_重新设计缩放体验