zoukankan      html  css  js  c++  java
  • jmeter:dubbo接口测试

    最近工作中接到一个需求,需要对一个MQ消息队列进行性能测试,测试其消费能力,开发提供了一个dubbo服务来供我调用发送消息。

    这篇博客,介绍下如何利用jmeter来测试dubbo接口,并进行性能测试。。。

     

    一、Dubbo简介

    dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。其核心部分包含如下几点:

    1、远程通讯:提供对多种基于长连接的NIO框架抽象封装,包括多种线程模型,序列化,以及“请求-响应”模式的信息交换方式;

    2、集群容错:提供基于接口方法的透明远程过程调用,包括多协议支持,以及软负载均衡,失败容错,地址路由,动态配置等集群支持;

    3、自动发现:基于注册中心目录服务,使服务消费方能动态的查找服务提供方,使地址透明,使服务提供方可以平滑增加或减少机器;

    4、dubbo简化模型

     

    二、Dubbo插件

    1、jmeter本身并不支持dubbo接口的测试,需要下载第三方插件,然后将jar包放入${JMETER_HOME}libext路径下,重启即可。

    插件下载地址:jmeter-plugins-dubbo

    2、选择自己需要的插件,为了适配性考虑,建议1.3.2及以上的版本。

    各版本更新说明:changelog

    3、参数说明

    简单参数对照表复杂参数对照表

     

    三、Dubbo Sample

    启动jmeter,添加线程组→Sampler→Listener,dubbo-sample界面如下:

    各参数说明如下:

    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下的包装类,小类型使用:intfloatshotdoublelongbytebooleanchar,自定义类使用类完全名称;

    ②、paramValue:基础包装类和基础小类型直接使用值,例如:int为1,boolean为true等,自定义类与List或者Map等使用json格式数据;

    以上即为利用jmeter的dubbo插件进行dubbo接口的测试,当然,同样可以进行性能测试,更多使用方式请自行探索。。。

  • 相关阅读:
    Multidimensional Arrays
    TortoiseGit
    Excel教程(14)
    Excel教程(13)
    Excel教程(12)
    Excel教程(11)
    lock
    reflect
    game
    html x
  • 原文地址:https://www.cnblogs.com/tiechui2015/p/10141628.html
Copyright © 2011-2022 走看看