一、安裝Dubbo插件
1、用于在Jmeter中測試Dubbo而開發(fā)的插件,下載地址https://www.ctolib.com/article/releases/87050
2、將插件添加到 ${JMETER_HOME}\lib\ext(安裝完之后重啟jmeter)
二、Dubbo Sample
1、添加Dubbo Sample
在測試計劃-線程組-添加-取樣器-Dubbo Sample,在 Dubbo Sample 對話框中配置注冊中心地址、服務(wù)接口名(Java interface 類名)、方法名、參數(shù)類型和參數(shù)值等信息

2、主要參數(shù):
Protocol:注冊協(xié)議,包括zookeeper、multicast、nacos、Redis、simple;
Address:注冊地址,dubbo服務(wù)的IP+Port:
當(dāng)使用zk,address填入zk地址,如:zk.yqxiu.cn:3381,集群地址使用","分隔;
使用dubbo直連,address填寫直連地址和服務(wù)端口;
Protocol:使用的dubbo協(xié)議,包括dubbo、rmi、hessian、webservice、memcached、redis,根據(jù)自己的協(xié)議類型選擇對應(yīng)的選項即可;
Timeout:請求超時時間,單位ms,默認(rèn)1S;
Version:版本,dubbo不同版本之間差異較大,不同版本之間不能互相調(diào)用,這里指定dubbo版本,是為了方便識別和說明;
Retries:異常重試次數(shù)(類似這種分布式服務(wù)通信框架,大多都有重試機制,是為了保證事務(wù)成功率);
Cluster:集群類型,包括failover、failfast、failsafe、failback、failking;
Group:組類型,如果有的話,根據(jù)配置填寫即可;
Connections:連接數(shù),同上,根據(jù)配置填寫;
Async:服務(wù)處理類型,包括sync(同步)、async(異步),根據(jù)配置填寫;
Loadbalance:負(fù)載均衡策略,包括random(隨機)、roundrobin(輪詢)、leastactive(最少活躍數(shù))、consistenthash(一致性哈希);
Interface:接口名(因為dubbo服務(wù)大多是開發(fā)根據(jù)規(guī)范自行命名的,因此這里需要填寫完整的接口名+包名);
Method:當(dāng)前接口下的方法名,按照開發(fā)提供的API文檔填寫即可;
Args:接口報文,根據(jù)API文檔填寫,如上圖所示,添加輸入行,輸入對應(yīng)的參數(shù)類型和值即可;
3、參數(shù)類型分類如下:
- 8種基本變量類型直接使用:int、float、shot、double、long、byte、boolean、char
- 包裝類直接用java.lang下的包裝類 例如:java.lang.String
- 自定一類型使用 包路徑+類名,數(shù)據(jù)格式為json
簡單類型參數(shù)使用參考:參數(shù)使用案例https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/wiki/ParameterComparisonTable
復(fù)雜類型參數(shù)使用參考:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/wiki/FAQ
三、添加斷言等并進行測試執(zhí)行
在 jmeter的 【測試計劃】 區(qū)域右鍵單擊 Dubbo Sample,并選擇 【添加】 > 【斷言】后進行測試