首页 > 其他分享 >Jmeter - dubbo插件测试dubbo接口

Jmeter - dubbo插件测试dubbo接口

时间:2023-05-10 15:36:04浏览次数:46  
标签:直连 dubbo 插件 Dubbo 接口 xx Jmeter com

转载:https://blog.csdn.net/baidu_28340727/article/details/125570560

一、背景

对于如何使用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.DubboServiceTestYY
Method填方法名: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吧。

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

 

标签:直连,dubbo,插件,Dubbo,接口,xx,Jmeter,com
From: https://www.cnblogs.com/Chilam007/p/17388112.html

相关文章

  • Jmeter - 录制脚本
    转载:https://blog.csdn.net/weixin_43878000/article/details/1248821821.第一步:添加http代理服务器,在测试计划--》添加--》非测试元件--》http代理服务器2.第二步:添加线程组(这个线程组是用来放录制的脚本,不添加也可以,就直接放在代理服务器下)测试计划--》添加--》线程--》线......
  • (转)Dubbox Dubbo 扩展
    Dubbo 是一个被国内很多互联网公司广泛使用的开源分布式服务框架,即使从国际视野来看应该也是一个非常全面的SOA基础框架。作为一个重要的技术研究课题,在当当网我们根据自身的需求,为Dubbo实现了一些新的功能,并将其命名为Dubbox(即DubboeXtensions)。主要的新功能包括:支持......
  • JMeter安装配置
    一、下载并配置JDK(每个学JAVA的应该都会,不过多赘述)注:需JDK8以上版本二、下载安装JMeter1、官网连接:ApacheJMeter-DownloadApacheJMeter2、选择所需版本进行下载3、将下载成功的压缩包解压到指定目录当中,即安装成功。4、配置环境变量变量名输入:JMETER_HOME变量值输入:JM......
  • pg_enterprise_views偶然发现的PG神仙插件
    一直从事数据库相关的工作,对于PG而言最大的问题其实是在运维管理方面,其缺乏有效且直观成体系的系统表,苦觅良久,今日在PG官网中发现了一款新收录的免费插件,其提供了数十张系统表,内容涵盖了从操作系统到数据库的负载指标、等待事件、会话、客户端、SQL、SQL执行计划、超时锁、长......
  • 验证码插件的使用
    验证码插件captcha-mini的使用使用yarnaddcaptcha-mini命令安装插件yarnaddcaptcha-minijs中引入验证码插件//引入验证码插件letCaptcha=require('captcha-mini')验证码实例化//1:验证码实例化letcaptcha1=newCaptcha({lineWidth:1......
  • 小程序开发中的插件、组件、控件到底有什么区别?
    ​小程序插件代码由一些自定义组件和JS代码文件构成,插件开发者在发布插件时,这些代码被上传到后台保存起来。当小程序使用插件时,使用者需填写插件的AppID和版本号,就可从后台获取相应的插件代码。小程序代码编译时,插件代码会被嵌入到小程序中,与小程序一起编译运行。由于在小......
  • 入门1-pytest测试框架功能及常用第三方插件介绍
    安装1. 安装Python2. 安装pytest: pipinstall-Upytest3. 安装常用插件pipinstall-rrequirement.txtPS: 常用插件:pytestallure-pytestrequestsPyYAMLpandasopenpyxljsonpathrequests_toolbeltPrettyTablepytest-htmlpytest-xdist https://docs.py......
  • #PowerBi 一分钟学会,在excel中,调用powerbi数据模型(Analyze in Excel插件)
    在工作中,我们常常使用excel来进行临时的数据处理服务,如果我们在powerbi中,已经有了完整的数据模型。那么我们都可以通过直接调用powerbi数据模型,来进行快速的数据分析,完成任务。今天我们就介绍一下,如何在excel中调用powerbi数据模型。第一步:下载插件输入以下网址,进入sqlbi的官......
  • JMeter参数化的多种方式
    JMeter中常见的参数化方式包括:CSV数据文件:从CSV文件中读取数据,并将其用于请求参数。数据库访问:从数据库中读取数据,并将其用于请求参数。用户定义的变量:手动定义变量值,并将其用于请求参数。随机变量:随机生成变量值,并将其用于请求参数。Counter:生成一个递增的计数器,并将其......
  • Jmeter详解
    目录Blazemeter界面详解Jmeter参数化1、用户定义的变量2、CSV数据文件设置3、用户参数4、函数counterRandomtime数据库引用数据库操作断言响应断言响应文本响应代码大小断言控制器IF逻辑控制器ForEach逻辑控制器循环逻辑控制器关联XPath提取器正则表达式提取器跨越线程组传值高并......