Jmeter 插件测试dubbo接口

Jmeter 插件测试dubbo接口

对于如何使用Jmeter测试http接口,大家都已经比较熟悉,网上相关的知识也很多。但随着微服务越来越流行,仅仅会测试http接口已经远远不够。Dubbo作为当下非常流行的RPC接口,学习如何测试Dubbo接口已经成为了测试人员进阶的必备知识之一。

对于Dubbo接口的测试,可以通过编写代码的方式、使用工具的方式,今天我们先讲如何通过Jmeter Dubbo插件来测试Dubbo接口。

一、插件下载

插件下载地址:https://github.com/thubbo/jmeter-plugins-for-apache-dubbo/releases

下载jmeter-plugins-dubbo-2.7.8-jar-with-dependencies.jar版本,此包中已含必要的依赖,推荐使用with-dependencies.jar包,下载后放到JMeter安装目录中的lib/ext路径下。

使用的Jmeter的版本:5.4.3

插一句:如何修改Jmeter背景色为白色,我是真的用不习惯黑色的那个背景:

二、环境接口

开发环境ZK地址:zookeeper://devzk1.xx.com:2181?backup=devzk2.xx.com:2181,devzk3.xx.com:2181

dubbo直连服务器, 服务器:xx.xx.xx.xx:20880 , 20880是dubbo的服务端口

dubbo接口:com.xxxx.test.sdk.api.DubboServiceTestYY方法名:yyTestDubbo入参类型:自定义的POJO对象:com.xxxx.test.sdk.para.Param参数值:{“name”:“test”,“age”:1,“address”:“中国”}

三、Dubbo Sample 直连Dubbo配置

取样器选择Dubbo Sampler,直连的方式配置:

1、 Registry Center(注册设置) 区域填写内容:由于是用直连的方式,所以Protocol选none。Address填写直连服务器的信息:xx.xx.xx.xx:20880

2、Consumer&Service Settings(消费者和服务者设置):Timeout:设置请求接口超时时间,默认1000ms, 就用默认的就行,如果实际接口响应比较慢,也可以改大点,比如改成5000

Version:版本,一般无需填写。Dubbo不同版本之间差异较大,不同版本之间不能互相调用。注意:默认这里填的是1.0,现在dubbo的版本都是2.xx了,因此直接删掉版本号,就让这里为空,不然用默认的1.0会调不通。最开始我没有管这个值,结果发现调不通,删了version的值就成功调通了。

后面其他的几项指标都不管,保持默认就行。

3、Get Provider List按钮:根据Address填写的地址,获取服务提供者的服务列表。直连的方式下,点这个按钮没用,会提示让你把Protocol选为zookeepr or nacos or redis, 但是直连的时候Protocol要选none, 所以直连的时候就手动在下面去填interface和method,不用 Get Provider List按钮来获取。

4、 Interface 填 dubbo的接口:com.xxxx.test.sdk.api.DubboServiceTestYYMethod填方法名:yyTestDubbo

5、 Args:接口入参,输入对应的参数类型和参数值paramType:参数支持任何类型,可以直接使用java.lang下的包装类,如:int、float、shot、double、long、byte、boolean、char、String等。类型也可以是自定义对象POJO,需使用类的完全名称。我们这里接口是要用自定义对象: com.xxxx.test.sdk.para.Param。 paramValue:填写需要的参数值,例如:int为1,boolean为true等,自定义类与List或者Map等使用Json格式数据。我们这里接口是要用Json格式数据:{“name”:“test”,“age”:1,“address”:“中国”} 注意:有个小坑,paramValue填完值之后,如果马上填运行按钮调接口,会发现paramValue值消失了,没保存上。所以要再点一下增加按钮添加一行空白行,再删掉这行空白行,这样就保存上了。

执行接口调用,调用成功:

四、Dubbo Sample ZK方式配置

1、 Registry Center(注册设置) 区域填写内容:由于是用ZK的方式,所以Protocol选zookeeper。Address填写直连服务器的信息:zookeeper://devzk1.xx.com:2181?backup=devzk2.xx.com:2181,devzk3.xx.com:2181

其他项填写,和直连的方式一样。

注意:实际测试中发现即使是用的ZK的方式,Get Provider List按钮也获取不到服务提供者的服务列表,点击之后会先出现提示信息:

意思是:获取所有提供者的服务列表,可能会导致 JMeter 停止响应几秒钟。你要继续吗?点击是,理论上正常的话会停顿一会儿,然后弹窗提示获取提供者列表成功!

如果10秒中都没有出现如上弹框,证明列表获取失败,可能是zookeeper地址填写错误,也可能是服务有问题了。而此时JMeter界面是卡死状态,需要强制关闭掉JMeter,因为等再长时间也没有意义了。

而实际测试的时候,发现我的ZK是对的,服务器也是正常运行的,也没有出现弹窗,Jmeter也会卡死。因此建议还是直接在下面手动输入Interface和Method吧。

执行接口调用,调用成功:

郑重声明:本文内容及图片均整理自互联网,不代表本站立场,版权归原作者所有,如有侵权请联系管理员(admin#wlmqw.com)删除。
(0)
用户投稿
上一篇 2022年7月9日
下一篇 2022年7月9日

相关推荐

  • Mighty Bear Games筹集1000万美元 用于开发Web3游戏

    Mighty Bear Games通过代币销售筹集了1000万美元,用于启动一个区块链游戏部门,并制作Mighty Action Heroes Web3游戏。 Mighty Bea…

    2022年7月29日
  • 注意!这15款移动App涉嫌超范围采集个人隐私信息

    国家计算机病毒应急处理中心近期通过互联网监测发现15款移动App存在隐私不合规行为,违反网络安全法、个人信息保护法相关规定,涉嫌超范围采集个人隐私信息。 1、未向用户告知个人信息处…

    2022年6月19日
  • Surface Pro 9价格8488元起 首次加入了5G支持

    时隔一年,我们迎来了微软新一代二合一轻薄本Surface Pro 9,最大变化就是首次加入了5G支持(可选项),处理器既有Intel 12代酷睿,也有微软第三代定制处理器SQ3。 …

    2022年10月13日
  • NodeJS,url、querystring和querystringify模块,接收请求参数

    NodeJS提取网址参数 querystringify模块 querystring,将url请求地址后的参数转化为对象,也可以把对象转化为url后的参数,便利对url的操作,npm…

    2022年6月17日
  • 绿联发布140W氮化镓充电器,支持PD3.1

    绿联作为配件大厂,终于发布了支持PD3.1的充电器,峰值功率达到了140W,官方给这款产品起来一个响亮的名字—绿联闪电湃(π),外观上,蜂窝状搭配棱起的线条,非常的酷,体积为129…

    2022年6月16日
  • 怎么删除自己的追评(淘宝追评可以删除吗)

    一、淘宝店铺每个评价类型的处理方案都是不同的,那具体哪些评价类型该如何区分呢? 1、主评为好评时:不支持修改或者删除评价的,若中评/差评改为好评,也不可修改或删除 ; 2、当主评为…

    2022年11月17日
  • 为什么现在感觉一诺不强了

    有留意职业比赛的观众可能会明白,自从2021年A教不在担任主教练以后,AG的成绩出现了非常恐怖的倒退,从以往稳进季后赛,势必拿胜者组变成了,能否进入季后赛,会不会止步于十强。 很多…

    2022年8月14日
  • 怎样删除Word文字间的空白行

    是否曾经为Word文字间的空白行而烦恼,是否应为空白行而觉得浪费打印纸,下面就介绍一种删除空白行的方法。 怎样删除Word文字间的空白行 1、先打开所需要的word文档,再点击菜单…

    2022年5月15日
  • 《英雄联盟手游》3.1版本今日更新:更像PC端游了-

    3月24日上午10:00,《英雄联盟手游》全新3.1版本将正式更新,召唤师需要更新至最新版本才能进入游戏。 在即将到来的3.1版本“艾欧尼亚守护者”中,峡谷将加入不少刺激好玩的新功…

    2022年6月30日
  • 分享7种新品牌推广的方案(新品牌推广方案有哪些)

    在我们日常消费的过程中,我们往往都比较信赖大品牌,但作为消费者一般不会去注意这种大品牌是怎么推广起来的呢?其实想要一个没有任何知名度的品牌在市场上崛起需要很长时间和经历,而更难的是…

    2022年11月6日

联系我们

联系邮箱:admin#wlmqw.com
工作时间:周一至周五,10:30-18:30,节假日休息