> 文章列表 > Jmeter测试dubbo服务

Jmeter测试dubbo服务

Jmeter测试dubbo服务

1、什么是dubbo接口
Dubbo 接口是阿里巴巴开源的致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案,dubbo框架告别了传统的web service的服务模式,进而改用provider和consumer模式进行服务。为什么是高性能的呢?可以在某个服务器集群中提供单一专注的服务,这样不与其他服务混杂,同时dubbo接口有SOA调度通过监控每台服务器而实现负载均衡。consumer端无需关注provider端如何实现,只需在注册中心订阅即可到相应服务器请求服务,这样就实现了高性能和透明化。说到底,Dubbo接口就是一个分布式服务框架。

2、dubbo接口和https接口有什么区别
1)、协议层区别

HTTP ,HTTPS 使用的是 应用层协议 应用层协议:定义了用于在网络中进行通信和传输数据的接口
DUBBO接口使用的是 TCP/IP是传输层协议 传输层协议:管理着网络中的端到端的数据传输;因此要比 HTTP协议快

2)、socket 层区别
dubbo默认使用socket长连接,即首次访问建立连接以后,后续网络请求使用相同的网络通道
http1.1协议默认使用短连接,每次请求均需要进行三次握手,而http2.0协议开始将默认socket连接改为了长连接
3、dubbo接口如何进行性能测试
1)、环境准备
下载jmeter-plugins-dubbo-2.7.3-jar插件,放到jmeter/lib/ext中

2)、添加Dubbo Sampler

参数说明:
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格式数据;

Jmeter测试dubbo服务