jmeter进行dubbo接口测试

最近工作中接到一个需求,需要对一个MQ消息队列进行性能测试,测试其消费能力,开发提供了一个dubbo服务来供我调用发送消息。

这篇博客,介绍下如何利用jmeter来测试dubbo接口,并进行性能测试。。。

一、Dubbo简介

dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含如下几点:

1、远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式;

2、集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持;

3、自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器;

4、dubbo简化模型

二、Dubbo插件

1、jmeter本身并不支持dubbo接口的测试,需要下载第三方插件,然后将jar包放入${JMETER_HOME}\lib\ext路径下,重启即可。

插件下载地址:jmeter-plugins-dubbo

2、选择自己需要的插件,为了适配性考虑,建议1.3.2及以上的版本。

各版本更新说明:changelog

3、参数说明

简单参数对照表复杂参数对照表

三、Dubbo Sample

启动jmeter,添加线程组→Sampler→Listener,dubbo-sample界面如下:

各参数说明如下:

Protocol:注册协议,包括zookeeper、multicast、Redis、simple;

Address:注册地址,dubbo服务的IP+Port:

①、当使用zk,address填入zk地址,集群地址使用","分隔;

②、使用dubbo直连,address填写直连地址和服务端口;

Protocol:使用的dubbo协议,包括dubbo、rmi、hessian、webservice、memcached、redis,根据自己的协议类型选择对应的选项即可;

Timeout:请求超时时间,单位ms,根据dubbo具体配置填写;

Version:版本,dubbo不同版本之间差异较大,不同版本之间不能互相调用,这里指定dubbo版本,是为了方便识别和说明;

Retries:异常重试次数(类似这种分布式服务通信框架,大多都有重试机制,是为了保证事务成功率);

Cluster:集群类型,包括failover、failfast、failsafe、failback、failking;

Group:组类型,如果有的话,根据配置填写即可;

Connections:连接数,同上,根据配置填写;

Async:服务处理类型,包括sync(同步)、async(异步),根据配置填写;

Loadbalance:负载均衡策略,包括random(随机)、roundrobin(轮询)、leastactive(最少活跃数)、consistenthash(一致性哈希);

Interface:接口名(因为dubbo服务大多是开发根据规范自行命名的,因此这里需要填写完整的接口名+包名);

Method:当前接口下的方法名,按照开发提供的API文档填写即可;

Args:接口报文,根据API文档填写,如上图所示,添加输入行,输入对应的参数类型和值即可(参数类型和值如何定义填写,请参考上面的链接);

①、paramType:参数支持任何类型,包装类直接使用java.lang下的包装类,小类型使用:intfloatshotdoublelongbytebooleanchar,自定义类使用类完全名称;

②、paramValue:基础包装类和基础小类型直接使用值,例如:int为1,boolean为true等,自定义类与List或者Map等使用json格式数据;

以上即为利用jmeter的dubbo插件进行dubbo接口的测试,当然,同样可以进行性能测试,更多使用方式请自行探索。。。

原文地址:https://www.cnblogs.com/xiaohuhu/p/10682592.html

时间: 2024-08-30 14:13:13

jmeter进行dubbo接口测试的相关文章

jmeter测试dubbo接口

本文讲解jmeter测试dubbo接口的实现方式,文章以一个dubbo的接口为例子进行讲解,该dubbo接口实现的功能为: 一:首先我们看服务端代码 代码架构为: 1:新建一个maven工程,pom文件为: 1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation=

jenkins+jmeter+ant搭建接口测试平台

接口测试的重点是检查数据的交换,传递和控制管理过程以及系统间的相互逻辑依赖关系. 接口测试的流程 项目启动后,测试人员要尽早拿到接口测试文档. 开始编写接口测试用例 将接口测试用例部署到持续集成的测试环境中 设定运行频率,告警方式等. 维护接口脚本. JMETER是一个性能测试工具.主要用来测试CGI, WEBSERVICE,DB等类型的测试. 1. 在JMETER中编写接口请求.填写域名,路径,随请求一起发送的参数 2.对返回的结果设置断言. 接口测试脚本就做好了. 接口测试返回的是jtl的测

使用Jmeter测试Dubbo接口

WebSocket接口需要下载dubbo插件才能使用 本次下载的版本为jmeter-plugins-dubbo-1.3.6 由于工作需要,最近需要对dubbo接口进行测试,查询了很多资料,最后调试通过,记录下 以前也用Jmeter对dubbo接口进行过测试,需要使用java语言编写方法调用dubbo接口,然后创建一个Maven项目,生成依赖的jar包,在把jar包放到Jmeter的lib目录,然后在java类型请求中,就可以看到自定义的java请求,及其繁琐,耗时 一.添加线程组 添加线程组等其

使用Jmeter测试Dubbo接口(参数设置篇)

WebSocket接口需要下载dubbo插件才能使用 本次下载的版本为jmeter-plugins-dubbo-1.3.6,下载完成后jar文件放到\lib\ext目录下 由于工作需要,最近需要对dubbo接口进行测试,查询了很多资料,最后调试通过,记录下 以前也用Jmeter对dubbo接口进行过测试,需要使用java语言编写方法调用dubbo接口,然后创建一个Maven项目,生成依赖的jar包,在把jar包放到Jmeter的lib目录,然后在java类型请求中,就可以看到自定义的java请求

Jmeter工具做接口测试

一.安装Jmeter 1.安装JDK ①下载jdk,到官网下载jdk,地址:http://jmeter.apache.org/download_jmeter.cgi ② 安装jdk(Oracle官网下载即可,根据操作系统下载对应的jdk),下载完成后,双击安装 ③ 配置jdk环境变量: 右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量: 变量名:[JAVA_HOME] 变量值:[D:\Java\jdk1.8.0_77][jdk安装路径] 变

jmeter关联和接口测试的内容

[接口测试之添加测试计划-线程组-sampler] 1.建立测试计划    只要打开执行Jmeter.bat,就会有Jmeter的桌面运行界面出来,会自动建立一个测试计划,如下图所示: 2.添加完测试计划后,就要添加对应的线程组,所有的测试步骤都是在线程组下面执行的,如下所示: 添加完成后,就可以看到自己所添加的线程组了. 由于我是要测试多个接口,为了方便控制,我是为每一个业务逻辑建立了对应的线程组. 3.根据自己测试的接口类型,建立对应的测试步骤,我这里就是HTTP接口,所以请求是基于HTTP

使用Jmeter进行http接口测试

前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试. 一.开发接口测试案例的整体方案: 第一步:我们要分析出测试需求,并拿到开发提供的接口说明文档: 第二步:从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点. 第三步:和开发一起对接口测试案例进行评审. 第四步:结合开发库,准备接口测试案例中

使用Jmeter进行http接口测试 ---------成都杀手

前言: 本文主要针对http接口进行测试,使用Jmeter工具实现. Jmter工具设计之初是用于做性能测试的,它在实现对各种接口的调用方面已经做的比较成熟,因此,本次直接使用Jmeter工具来完成对Http接口的测试 一.开发接口测试案例的整体方案: 第一步:我们要分析出测试需求,并拿到开发提供的接口说明文档: 第二步:从接口说明文档中整理出接口测试案例,里面要包括详细的入参和出参数据以及明确的格式和检查点. 第三步:和开发一起对接口测试案例进行评审. 第四步:结合开发库,准备接口测试案例中的

使用jmeter进行APP接口测试经验总结

使用工具: Fiddler.Jmeter 测试步骤: 1.    确认接口 从开发人员那里获取接口文档,接口文档应该包括完整的功能接口.接口请求方式.接口请求URL.接口请求参数.接口返回参数. 如果当前项目没有接口文档,则可以使用fiddler对APP进行抓包确认. fiddler对手机进行抓包的方法可以参考:http://blog.csdn.NET/whorus1/article/details/50673740 在手机上对APP进行操作,然后在Fiddler中可以抓取对应的网络交互信息(一