一、安装Dubbo插件
1、用于在Jmeter中测试Dubbo而开发的插件,下载地址https://www.ctolib.com/article/releases/87050
2、将插件添加到 ${JMETER_HOME}\lib\ext(安装完之后重启jmeter)
二、Dubbo Sample
1、添加Dubbo Sample
在测试计划-线程组-添加-取样器-Dubbo Sample,在 Dubbo Sample 对话框中配置注册中心地址、服务接口名(Java interface 类名)、方法名、参数类型和参数值等信息
界面.png
2、主要参数:
Protocol:注册协议,包括zookeeper、multicast、nacos、Redis、simple;
Address:注册地址,dubbo服务的IP+Port:
当使用zk,address填入zk地址,如:zk.yqxiu.cn:3381,集群地址使用","分隔;
使用dubbo直连,address填写直连地址和服务端口;
Protocol:使用的dubbo协议,包括dubbo、rmi、hessian、webservice、memcached、redis,根据自己的协议类型选择对应的选项即可;
Timeout:请求超时时间,单位ms,默认1S;
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文档填写,如上图所示,添加输入行,输入对应的参数类型和值即可;
3、参数类型分类如下:
8种基本变量类型直接使用:int、float、shot、double、long、byte、boolean、char
包装类直接用java.lang下的包装类 例如:java.lang.String
自定一类型使用 包路径+类名,数据格式为json
三、添加断言等并进行测试执行
在 jmeter的 【测试计划】 区域右键单击 Dubbo Sample,并选择 【添加】 > 【断言】后进行测试