下面講解怎麼使用jmeter-plugins-dubbo作接口測試java
插件下載地址:jmeter-plugins-dubbogit
注意:github
下載提供2種版本:web
A. 第一種版本是jmeter-plugins-dubbo-2.7.1-jar-with-dependencies.jar相似帶有with-dependencies的jar是包含一些基礎包,我下載的這個redis
B. 第二種是不帶依賴包的版本,例如jmeter-plugins-dubbo-2.7.1.jar。而後獲取如下依賴包,將它們放到jmeter安裝目錄下的lib/ext。若是是項目中使用報錯,或者dubbo版本不是2.X版本的,建議下載這個json
gson-2.8.2.jarapi
dubbo-2.8.4.jar 負載均衡
javassist-3.21.0-GA.jar框架
jline-0.9.94.jardom
log4j-over-slf4j-1.7.5.jar
netty-3.7.0.Final.jar
slf4j-api-1.7.5.jar
zkclient-0.2.jar
zookeeper-3.4.9.jar
將下載的jmeter-plugins-dubbo-2.7.1-jar-with-dependencies.jar
放在jar文件JMETER_HOME/lib/ext目錄下
而後啓動Jmeter添加dubbo sample
獲取jmeter sample所須要填寫的參數:
開發提供信息:
1)zookeeper地址:zookeeper://10.185.240.81:2181?backup=10.185.240.82:2181,10.185.240.83:2181
2)直連地址:dubbo://10.0.254.32:10810
3)服務版本:1.0.0
1.telnet 直連地址 telnet 10.0.254.32 10810
2.ls命令查看接口列表
3.ls -l 接口名 查看該接口方法列表,獲取方法名和參數類型
4)根據接口文檔填寫參數,使用invoke命令進行調試
invoke調試經過後將參數填入到jmeter dubbo sample中
補充:接口名和方法名能夠經過get provider list選擇,避免手動填寫出錯,實測過程當中獲取provider list時間較長
請求參數
返回結果
單接口調試經過,能夠設置場景壓測了!
各參數說明以下:
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
下的包裝類,小類型使用:int
、
float
、
shot
、
double
、
long
、
byte
、
boolean
、
char
,自定義類使用類徹底名稱;
②、paramValue:基礎包裝類和基礎小類型直接使用值,例如:int爲1,boolean爲true等,自定義類與List
或者Map
等使用json格式數據;