• jmeter-plugins-dubbo & DevToolBox


    jmeter-plugins-dubbo使用

    A. 下载jmeter并安装,http://jmeter.apache.org/download_jmeter.cgi(文中使用的版本是3.3,理论上高版本也没问题)。

    B. 到github下载最新jmeter plugin包 https://github.com/ningyu1/jmeter-plugins-dubbo/tree/master/dist,请选择不带依赖包的版本(因为作者的dubbo版本是2.5.3,以及其他的包版本都与公司的不一样),例如jmeter-plugins-dubbo-1.3.2-SNAPSHOT.jar。然后获取以下依赖包

    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安装目录下的lib/ext。

    B. 运行jmeter图形程序,如图添加线程组,不进行压测的话,默认就是1个线程调用1次dubbo接口

    C. 如图添加dubbo sample,并添加察看结果树

     

    D. 在dubbo sample中配置注册中心设置(协议以及地址)、provider相关信息(interface、method、参数)

     

    注:

    1. args参数需要配置参数类型以及参数值,如果是对象等复杂参数,用json来设置值。并且需要提供参数类型,对应表如下:

     

    2. register settings区域的protocal可以是zk也可以是simple,后者表示直连方式,可以脱离zk使用。

    E. 配置好dubbo sample后,就可以运行jmeter来调用dubbo了,点击如图按钮

     

    F. 返回结果要在之前添加的察看结果树得到,每一次运行都会有一个text产生,点击响应数据tab页可以看到返回实体的json

     

    工具对比

    DevToolBox 
    优点:
    a. 基于zk和jar包可分析出interface和method;不用手写,选择即可,减少出错
    b. 参数被分析成模板,直接填写
    c. 预置2.5.3 2.8.4 dubbo包以及其他依赖包(并自动分析其他版本的dubbo包),开箱即用
    缺点:
    a. 必须依赖zk
    b. 必须依赖interface jar包
    c. 无法压测
    d. 需要安装maven并且有本地仓库(对QA可能不友好)

    功能测试推荐使用DevToolBox 工具,因为整体效率和体验会更好。

    压测或者是无interface相关包时,则可以使用jmeter-plugins-dubbo

    jmeter-plugins-dubbo 
    优点:
    a. 不依赖于zk,可直连
    b. 基于泛化,不依赖于interface jar包
    c. 可用jmeter快捷压测

    缺点:
    a. 需要手写参数类型(需要一一对应),复杂对象也要手动构造
    b. interface、method都要手写,对非开发人员不友好,有写错风险
    c. 需要自己维护jmeter调用dubbo所需jar包,并且要安装jmeter,无法做到开箱即用

  • 相关阅读:
    grep 和vim用法
    【python】初识函数
    【python】 文件相关操作
    【python】基础数据类型相关知识点补充和深浅拷贝
    【python】is和==的区别以及encode()和decode()
    python中的字典以及相关操作
    python列表元祖以及range
    python基本数据类型
    python基础逻辑运算
    了解Python与安装Python解释器
  • 原文地址:https://www.cnblogs.com/ken-jl/p/9282511.html
Copyright © 2020-2023  润新知