用了这款Jmeter插件,测试dubbo接口再也不用写代码了_填写_接口_类型

▲ 《 Linux性能监控命令大全》 ▲

当前项目中重构了消息服务,需要对消息服务接口做性能压测,评估消息服务的性能情况,查询了很多资料,最后调试通过,记录下。

以前也用Jmeter对dubbo接口进行过测试,需要使用java语言编写方法调用dubbo接口,然后创建一个Maven项目,生成依赖的jar包,在把jar包放到Jmeter的lib目录,然后在java类型请求中,就可以看到自定义的java请求,及其繁琐,耗时。

下面讲解 怎么使用jmeter-plugins-dubbo做接口测试?

01

操作步骤

第一步:插件下载地址:jmeter-plugins-dubbo

注意:

注意:

jmeter-plugins-dubbo使用,下载提供2种版本:

第一种版本是jmeter-plugins-dubbo-2.7.1-jar-with-dependencies.jar类似带有with-dependencies的jar是 包含一些基础包 ,我下载的这个

第二种是 不带依赖包的版本 ,例如jmeter-plugins-dubbo-2.7.1.jar。然后获取以下依赖包,将它们放到jmeter安装目录下的lib/ext。如果是项目中使用报错,或者dubbo版本不是2.X版本的,建议下载这个 gson-2.8.2.jar dubbo-2.8.4.jar javassist-3.21.0-GA.jar jline-0.9.94.jar 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所需要填写的参数——

开发提供信息:

zookeeper地址: zookeeper://10.185.240.81:2181?backup=10.185.240.82:2181,10.185.240.83:2181

直连地址: dubbo://10.0.254.32:10810

服务版本: 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时间较长

补充:

接口名和方法名可以通过 get provider list选择,避免手动填写出错,实测过程中获取provider list时间较长

请求参数

返回结果

单接口调试通过,可以设置场景压测了!

02

各参数说明

Protocol:注册协议,包括zookeeper、multicast、Redis、simple;

Protocol:注册协议,包括zookeeper、multicast、Redis、simple;

Address:注册地址,dubbo服务的IP+Port:

Address:注册地址,dubbo服务的IP+Port:

① 当使用zk,address填入zk地址,集群地址使用","分隔;

② 使用dubbo直连,address填写直连地址和服务端口;

Protocol:使用的dubbo协议包括dubbo、rmi、hessian、webservice、memcached、redis,根据自己的协议类型选择对应的选项即可;

Timeout:请求超时时间,单位ms,根据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 格式数据;

Protocol:使用的dubbo协议包括dubbo、rmi、hessian、webservice、memcached、redis,根据自己的协议类型选择对应的选项即可;

Timeout:请求超时时间,单位ms,根据dubbo具体配置填写;

Retries:异常重试次数(类似这种分布式服务通信框架,大多都有重试机制,是为了保证事务成功率);

Cluster:集群类型,包括failover、failfast、failsafe、failback、failking;

Group:组类型,如果有的话,根据配置填写即可;

Connections:连接数,同上,根据配置填写;

Async:服务处理类型,包括sync(同步)、async(异步),根据配置填写;

Loadbalance:负载均衡策略,包括random(随机)、roundrobin(轮询)、leastactive(最少活跃数)、consistenthash(一致性哈希);

Interface:接口名(因为dubbo服务大多是开发根据规范自行命名的,因此这里需要填写完整的接口名+包名);

Method:当前接口下的方法名,按照开发提供的API文档填写即可;

学习安排上!

Linux性能监控命令大全

扫描下方二维码免费领取

上文内容不用于商业目的,如涉及知识产权问题,请权利人后台留言联系码同学小编,我们将立即处理。

转载自:

“在看”点一点

特别声明

本文仅代表作者观点,不代表本站立场,本站仅提供信息存储服务。

分享:

扫一扫在手机阅读、分享本文