zoukankan      html  css  js  c++  java
  • jmeter基础介绍

    一、优点:

    1)开源工具,轻巧灵活,可扩张性好;

    2)100%纯Java编写;

    3)用于压力测试和性能测试;

    二、作用:

    1)可对 Servlet,Perl脚本,Java对象,数据库和查询,FTP服务器 等进行性能测试;

    2)可用于分析不同压力条件下的总体性能情况;

    3)可根据提供的图形化界面,分析性能指标或者在高负载情况下测试你的服务器以及脚本对象。

    三、安装配置:

    1)安装配置好 jdk ,最好安装1.8版本

    2)4.0版本的jmeter安装包,jmeter下载地址:http://jmeter.apache.org/download_jmeter.cgi             

         下载后,解压文件到任意目录,避免在一个有空格的路径安装 Jmeter,这将导致远程测试出现问题

         注意:jmeter 只需要配置好JDK环境

    3)Jmeter启动:双击 Jmeter文件中的 bin 目录下运行ApacheJMeter.jar 启动,也可用双击 jmeter.bat  启动

    四、Jmeter 文件目录介绍:

    • bin :可执行文件目录

          a)jmeter.bat :windows的启动文件

          b)jmeter.log :日志文件

          c)jmeter.sh :linux的启动文件(也就是说可以把jmeter部署在linux系统)

          d)jmeter.properties :系统配置文件

          e)jmeter-server.bat : windows分布式测试要用的服务器配置(多机器之间进行压测)

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

    • docs :JMeter 的API接口文档目录
    • extras :扩展插件目录
    • lib :所用到的插件目录,里面全是 jar 包,JMeter 会自动在 JMeter_HOME/lib 和 ext 目录下寻找需要的类
    • Licenses : JMeter 证书目录
    • printable_docs :用户使用手册

    五、基础构成

    1、组成部分:

    1)资源生成器:用于生成测试过程中服务器,负载机的资源代码。

    2)用户运行器:通常是一个脚本运行引擎,根据脚本要求模拟制定的用户行为。

    3)报表生成器:根据测试中实时地的数据生成报表,提供可视化的数据显示方式。

    4)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。

    2、主要概念:

    2.1 TestPlan(测试计划):用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就是说本次的性能测试的所有内容是基于一个计划的。

    2.2 Threads (Users)线程 用户

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

    B、teardown thread group :一种特殊类型的 ThreadGroup 的,可用于执行测试后操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试结束后执行定期的线程组。

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

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

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

    2.4、配置元件(config element):用于模块对静态数据配置的支持。如 CSV Data Set config 可以将本地数据文件形成数据池(Data Pool)。

    2.5、定时器(Timer):用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。jmeter 定义了 Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

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

    2.7、后置处理器(Post Processors):用于对sampler 发出的请求后得到的服务器响应进行处理。一半用来提取响应中的特定数据。

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

    2.9、监听器(Listener):用来对测试结果数据进行处理和可视化展示的一系列元件。图形结果,查看结果树,稽核报告。都是经常用到的,但是,这个监听器不能用于监听系统资源!!!

    2.10、两种类型的控制器:取样器(sampler) 和 逻辑控制器 (Logic Controller),用这些原件来驱动处理一个测试。

    a))取样器(sampler):性能测试中想服务器发送请求,记录响应信息,记录响应时间的最小单元,Jmeter原生支持多种不同的Sampler、TCP Request Sample、JDBC Request Sample等,不同类型的Sampler 可以根据设置的参数向服务器发出不同类型的请求。

    b)逻辑控制器(Logic Controller):包括两类元件,一类是用于控制test plan 中sampler 节点发送请求的逻辑顺序的控制器,常用的有 IF控制器,Runtime Controller、循环控制器等。另一类是用来组织可控制sampler来杰斯安的,如 事务控制器,吞吐量控制器等。

  • 相关阅读:
    【SCOI 2011】 糖果
    【POJ 3159】 Candies
    【POJ 1716】 Integer Intervals
    【POJ 2983】 Is the information reliable?
    【POJ 1364】 King
    【POJ 1201】 Intervals
    【POJ 1804】 Brainman
    6月10日省中提高组题解
    【POJ 3352】 Road Construction
    【POJ 1144】 Network
  • 原文地址:https://www.cnblogs.com/blingling/p/11766075.html
Copyright © 2011-2022 走看看