zoukankan      html  css  js  c++  java
  • jmeter 系统的笔记整理【持续更新】

    一、Jmeter 的目录介绍

    1. bin目录:可执行的目录

      jmeter.bat:windows的启动文件
      jmeter.log:日志文件
      jmeter.sh:Linux的启动文件
      jmeter.properties:系统配置文件
      jmeter-server.bat :windows分布式测试要用到的服务器配置
      jmeter-serve:分布式压测要用到的服务器配置

    2. docs目录:接口文档目录

    3. extras目录:扩展插件目录

    4. lib目录:所用到的插件目录,里面都是jar包,会自动在JMETER_HOME/lib和ext目录下寻找需要的类

    5. liceses:jmeter证书目录

    6. ptinrable_docs 用户使用手册

    7. 安装插件管理器

      将plugins-manager.jar放到lib/ext下,然后重启Jmeter

    二、录制工具

    ​ blazemeter

    ​ badboy

    ​ jmeter web代理

    三、jmeter 默认内存分配

    rem The following link describes the -XX options:
    rem http://docs.oracle.com/javase/8/docs/technotes/tools/unix/java.html
    
    if not defined HEAP (
        rem See the unix startup file for the rationale of the following parameters,
        rem including some tuning recommendations
        set HEAP=-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m
    )
    
    • 堆的内存分配用-Xms和-Xmx

      -Xms分配堆最小内存,默认为物理内存的1/64;-Xmx分配最大内存,默认为物理内存的1/4。

    • 非堆内存分配用-XX:PermSize和-XX:MaxPermSize

      -XX:PermSize分配非堆最小内存,默认为物理内存的1/64;-XX:MaxPermSize分配最大内存,默认为物理内存的1/4。

    四、插件

    • 插件管理器

      下载地址:

      https://jmeter-plugins.org/install/Install/

      下载一个jmeter-plugins-manager-0.16.jar

      放到lib/ext目录下即可

    • python

      jmeter-functions-execute-python-script-1.0.jar  在jmeter调用python函数
      jython-standalone-2.7.0.jar JSR223 Sampler中使用jython shell
      

    五、执行

    jmeter -n -t <testplan filename> -l <listener filename>
    

    参数:

    -h 帮助 -> 打印出有用的信息并退出
    -n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
    -t 测试文件 -> 要运行的 JMeter 测试脚本文件
    -l jtl文件 -> 记录结果的文件
    -r 远程执行 -> 启动远程服务
    -H 代理主机 -> 设置 JMeter 使用的代理主机
    -P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
    -j 日志文件->设置JMeter日志文件的名称
    

    实例:

    JMeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000
    jmeter -n -t D:kangpcsharejmeterscript百度.jmx -l a.jtl
    

    执行步骤:

    JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录。比如你在 C: oolsapache-jmeter-2.11in 目录下执行以上命令,JMeter 会去该目录下寻找 test.jmx 脚本并把执行结果放在该目录。如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,可以使用绝对路径告诉 JMeter。

    1. 同步/异步执行
    2. sheduler
    3. 请求出错后怎么执行

    六、线程组的八类可执行元件

    1. 配置元件(Config element)

    用于提供对静态数据的支持,CSV data Set config 可以将本地数据文件形成数据池(data pool)

    2. 定时器(Timer)

    定时器用于操作之间设置等待时间,等待时间是性能测试常用的控制客户端QPS的手段,类似LR的thinktime,jmeter定义了Bean shell timer,固定定时器,高斯定时器,等不同类型的定时器

    3. 前置处理器(Per processors)

    用于在实际的请求发出之前对请求进行处理,URL的重写,url中有sessionid一类的session信息可以通过该处理器填充发出请求的实际sessionid

    4. 后置处理器

    用于对sampler发出请求后得到的服务器响应进行处理,一般用来提取响应中特定数据(类似LR中关联)

    5. 断言(assertions)

    断言用于检查测试中得到的响应数据是否符合预期,断言一般用来设置检查点,用以保证性能测试过程中的数据交互是否与预期一致

    6. 监听器

    是用来对测试结果数据进行处理和可视化展示的一系列元件

    7. 取样器(sampler)

    取样器是性能测试中向服务器发送请求,记录详细信息,记录响应时间的最小单元,Jmter原生支持多种不同的sampler,每种不同类型的sampler可以根据设置的参数向服务器发送不同类型的请求

    8. 逻辑控制器

    逻辑控制器包括两类元件,一类是用来控制test plan 中sampler节点发送请求的逻辑控顺序的控制器,常用的有(if)控制器,switch controller,循环控制器,另一类,是用来组织可控制sampler节点的事物控制器,吞吐量控制器

    七、作用域

    • 8类可执行元件,sampler是不与其他元件发生交互作用的元件,逻辑控制器只对其子节点的取样器有效

    • jmeter中元件的作用域是靠测试计划的树形结构中元件的父子关系确定的,作用域的原则是:

      1. 取样器不和其他元件交互:不存在作用域的问题;

      2. 逻辑控制器(logic controller)元件只对子节点中的取样器和逻辑控制器作用

      3. 除取样器和逻辑控制器外,其他6类元件,如果是某个取样器的子节点,则该元件对其父子节点起作用,如果其父子节点不是取样器,则其作用域是该元件父节点下的其他所有后代节点(包括子节点,子节点的子节点)

    八、元件的执行顺序

    配置元件-前置处理器-定时器-取样器-后置处理器-断言-监听器
    执行顺序tip:
    前置处理器,后置处理器,断言等元件功能对取样器起作用,因此,如果他们的作用域内没有任何取样器,不会执行
    如果同一作用域范围内有多个同一类的元件,按照测试计划树依次进行

    九、User Defined Variables

    十、User Parameters

    更多学习笔记移步 https://www.cnblogs.com/kknote
  • 相关阅读:
    Coursera机器学习week11 单元测试
    关于 TypeReference 的解释
    getModifiers 方法解释。
    instanceof isInstance isAssignableFrom 比较
    elasticsearch 基础 语法总结
    kibana 启动 关闭 和进程查找
    MD5 SHA1 SHA256 SHA512 SHA1WithRSA 的区别
    spring boot 项目 热启动
    java zip 压缩文件
    Packet for query is too large (1660 > 1024). You can change this value on the server by setting the max_allowed_packet' variable.
  • 原文地址:https://www.cnblogs.com/kknote/p/13967259.html
Copyright © 2011-2022 走看看