jmeter(二十四)dubbo接口测试

 

 

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

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

 

1、Dubbo简介github

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

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

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

三、自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方能够平滑增长或减小机器;负载均衡

四、dubbo简化模型框架

 

2、Dubbo插件dom

一、jmeter自己并不支持dubbo接口的测试,须要下载第三方插件,而后将jar包放入${JMETER_HOME}\lib\ext路径下,重启便可。异步

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

二、选择本身须要的插件,为了适配性考虑,建议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接口的测试,固然,一样能够进行性能测试,更多使用方式请自行探索。。。

相关文章
相关标签/搜索