目前主流的分布式框架有Dubbo和SpringCloud, SpringCloud是基于Http协议的分布式框架,Dubbo是基于RPC的分布式框架,Jmeter没有内置对Dubbo接口的支持,很难直接对Dubbo接口进行测试。
Alibaba在2018年正式提供了Dubbo-Jmeter的插件(下载地址:https://dwz.cn/Uo3JILCS)通过集成此插件,可通过Jmeter实现Dubbo接口测试,此插件对系统版本有一定要求:
支持Jmeter版本:3.0+
支持Dubbo版本:2.5.x,2.6.x
本文是基于Jmeter 5.0和Dubbo 2.5.x编写案例调用。
Dobbo简介
使用Jmeter对Dubbo服务进行测试前,需要了解Dubbo的基础原理和架构,Dubbo有三大模块( http://dubbo.apache.org/en-us/ ):
Registry: 服务注册与发现的注册中心(常用Zookeeper作为注册中心)。
Provider: 暴露服务的服务提供方。
Consumer: 调用远程服务的服务消费方。
Jmeter使用插件模拟服务消费方去调用服务提供方的方法,来实现Dubbo服务的测试,在测试具体的服务前,需要和开发进行沟通,了解Dubbo服务的:
服务注册协议
服务注册地址
服务版本
服务集群配置
服务所属分组
服务的全名
服务的方法
服务的入参以及类型
Jmeter实现Dubbo服务的测试
将官网提供的jmeter-plugins-dubbo-x.x.x-jar-with-dependencies 插件放置到Jmeter的第三方插件包中
JMETER_HOME/lib/ext下,重启Jmeter 以后可以在取样器中看到Dubbo Sample。
在Dubbo Sample中填写服务的相关信息:
配置中心:Config Center,可选组件,若没有可不填写
注册协议:支持直连,zookeeper, multicast,redis...
注册中心地址:ip:port
注册协议:支持dubbo://, rmi://
服务接口信息:Interface填写配置文件中的包名.类型,Methods填写方法名,Args填写调用的参数
运行Dubbo Sample,可在查看结果树中看到请求参数以及方法调用后的结果
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理