zoukankan      html  css  js  c++  java
  • 性能测试jmeter的基本介绍

    一,Jmeter简介:

    jmeter是啥?

    Apache JmeterApache组织的开放源代码的项目,是一个纯java桌面应用,用于压力测试和性能测量,他最初呗设计用于web应用测试但后来扩展到其他测试领域。

    jmeter有啥用?

    Apache Jmeter可以用于对静态和动态的资源(文件,SevletPerl脚本,java对象,数据库和查询,FTP服务器或是其他资源)的性能进行测试,jmeter可以用于分析不同压力条件下的总体性能情况,也可以使用jmeter提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器脚本对象

    jmeterloadrunner有啥区别?

     

    loadrunner

    jmeter

    安装卸载

    比较麻烦,文件体积大

    比较简单,文件体积小

    脚本录制

    支持

    支持

    参数化

    支持

    支持

    集合点

    支持

    支持

    检查点

    支持

    支持

    关联

    支持

    支持

    多协议

    支持

    支持

    IP欺骗

    支持

    不支持

    多线程

    支持

    支持

    报告生成与导出

    支持

    支持

    测试成本

    商业软件,成本高

    开源软件,测试成本低

     

    二,jmeter的安装配置

    1,安装jdk

    2,安装jmeter------省略

    注意安装的时候避免在一个有空格的路劲下安装,这将导致远程测试出现问题

    3jmeter启动是在bin目录下运行ApacheJMeter.jar进行启动,或者jmeter.bat(jmeter.sh是在linux启动的脚本)

    4jmeterbin目录文件:

         . jmeter.bat:windows的启动文件

         . jmeter.log:日志文件

         . jmeter.sh :  linux启动文件

         . jmeter.properties : 系统配置文件

         . jmeter-server.bat : windows分布式测试要用到的服务器配置

         . jmeter-serve:linux 分布式测试要用到的服务器配置

    5jmeter其他目录简单说明:

         docs : 接口文档目录

         extras: 扩展插件目录

         lib:所用到的插件目录,里面全是jar包,jmeter会自动在jmeter_home/libext目录下寻找需要的类

         licenses:jmeter证书目录

         printable_docs 用户使用手册

    三:Jmeter功能概要

    1jmeter工具组成部分:

        资源生成器:用于生成测试过程中服务器,负载机的资源代码(相当于lr中的VuGen

       用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为(lr中的Controller

       报表生成器:根据测试中实时的数据生成报表,提供可视化的数据显示方式(lr中的Analysis

       负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为(lr中的load Generators

    2,其他插件的功能:

       Test Plan(测试计划):用来描述一个心梗测试,包含与本次性能测试所有相关的功能,也就说本次性能测试的所有内容是基于一个计划的。(相当于lr中的一个测试场景)

      Threads(Users)线程 用户

         A.setup thread group: 一种特殊类型的ThreadGroup的,可以用于执行预测试操作,这些线程的行为完全像一个正常的线程组元件,不同的是,这些类型的线程执行测试前进行定期线程组的执行,累死LRinit()

        B.teardown thread group: 一种特殊类型的ThreadGroup,可用于执行测试后动作,这些线程的行为完全像一个正常的线程组元件,不用的是,这些类型的线程执行测试结束后执行定期的线程组,类似于lr中的end()

        C.tread group(线程组):这个就是我们通常添加运行的线程,可以看做一个虚拟用户组,线程组中的每个线程都可以理解为一个虚拟用户,线程组中包含的线程数量在测试执行过程中是不会发生改变的,类似LR中的action()

    3,测试片段(Test Fragment

         测试片段元素是控制器上一个特殊的线程组,他在测试树上与线程组处于一个层级,她与线程组有所不同,因为它不被执行,除非它是一个模块的控制器或者被控制器所引用时才被执行

    以下是线程组的8类可执行元件

    4,配置元件(Config Element

         配置元件(Config element)用于提供对于静态配置的支持,如CSV Data Set config可以将本地数据文件形成数据池(Data Pool

    5 , 定时器(timer)用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段,类似于LR里面的思考时间,jmete定义了Bean shell timer,constant Throughout timer,固定定时器等不同于类型的timer

    6,前置处理器(Per Processors)用于在实际的请求发出之前对即将发出的请求进行特殊处理,如:HTTP URL 重写修复则可以实现URL重写,当url中有sessionID一类的session信息时,可以通过该处理器填充发出请求的实际的sessionID.

    7,后置处理器(post processors)用于对Sampler发出请求后得到的服务器响应进行处理,一般用来提取响应中特定的数据(类似LR测试工具中关联概念)

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

    9,监听器(Listener)是用来对测试结果数据进行处理和可视化展示的一系列元件,图形结果,查看结果树,聚合报告,都是我们常用的元件。注意:这个监听器可不是用来监听系统资源的元件

    10,取样器(sample)取样器是性能测试中向服务器发送请求,记录响应信息,记录响应时间的最小的单元,Jmeter原生支持多种不同的sampler,如:HTTP request sampler,FTP,request sampler,tcp request sampler jdbc request sampler 等,每一种不同类型的sampler 可以根据设置的参数向服务器发出不同类型的请求

    11,逻辑控制器:逻辑控制器包含两类元件,一类是用于控制test plansampler节点发送请求的逻辑顺序的控制器,常用的有如果(if)控制器,switch controller,runtime controller,循环控制器等,另一类是用来组织可控制sampler节点的,如事物控制器,吞吐量控制器

     

  • 相关阅读:
    2019春第三次课程设计实验报告
    2019春第二次课程设计实验报告
    2019春第一次课程设计实验报告
    第十二周总结
    第十一周总结
    第五周课程总结&试验报告(三)
    第四周课程总结&实验报告(二)
    第三周课程总结&实验报告一
    第二周学习总结
    19春总结
  • 原文地址:https://www.cnblogs.com/hally/p/12685944.html
Copyright © 2011-2022 走看看