JMeter学习(一)

转载自 ========= JMeter学习(一)

一、JMeter 介绍

  Apache JMeter是Apache组织开发的基于java的压力测试工具。它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言

二、JMeter 下载安装

  http://jmeter.apache.org/下载最新版本的JMeter,解压文件到任意目录;

  在已配置java环境变量的基础上,配置jmeter_home环境变量,变量值为实际的jmeter解压路径,在classpath中加入%JMETER_HOME\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;不同的jmeter版本对应不同的jdk版本

三、JMeter 启动

  1.进入bin目录运行jmeter.bat文件启动jmeter(打开时会有命令窗口和图形操作界面,皆不可关闭)

  2.JMeter目录结构

  /bin 目录(常用文件介绍)examples:目录下包含Jmeter使用实例;ApacheJMeter.jar:JMeter源码包;jmeter.bat:windows下启动文件;jmeter.sh:Linux下启动文件;jmeter.log:Jmeter运行日志文件;jmeter.properties:Jmeter配置文件;jmeter-server.bat:windows下启动负载生成器服务文件;jmeter-server:Linux下启动负载生成器文件
  /docs目录——Jmeter帮助文档
  /extras目录——提供了对Ant的支持文件,可也用于持续集成
  /lib目录——存放Jmeter依赖的jar包,同时安装插件也放于此目录
  /licenses目录——软件许可文件,不用管
  /printable_docs目录——Jmeter用户手册

四、JMeter 测试计划元件

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

     测试计划对象中,如果选中“函数测试模式”的选择框,JMeter将会记录从每个服务器的每个样本返回的数据。如果在监听器里选择一个文件,那么这些返回的数据会被写入这个文件。如果测试JMeter是否被正确配置和服务器是否返回期望的结果,这是很有用的。结果是记录返回数据的文件将会很快变的巨大,接着JMeter的性能也会降低。如果做压力测试,这个选项应该关闭。(它默任是关闭的),如果你没有向文件中记录数据,那么这个选项不会造成任何区别。

  2.线程组

  线程组元件是任何一个测试计划的开始点。在一个测试计划中的所有元件都必须在某个线程组下。线程组元件控制JMeter执行你的测试计划时候使用的线程数量

  setUp Thread Group:可用于执行预测试操作

  tearDown thread group:可用于执行测试后动作

  线程数:多个线程用于模仿对服务器的并发访问

  Ramp-Up Period:单位是秒,指定了启动所有线程所花费的时间。如果选择了10个线程,并且ramp-up period是100秒,那么JMeter将使用100秒使10个线程启动并运行。每个线程将在前一个线程启动后10(100/10)秒后启动

  循环次数:每个线程执行多少次请求

  调度器:可以输入运行开始和结束时间。当测试开始时,如果设置了调度器,JMeter将等待直到到了开始时间。在每个周期结束,JMeter将会检查是否到达结束时间,如果达到,停止运行;否则测试继续运行直到达到了重复限制。

  3.测试片段(Test  Fragment)

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

  4.控制器

  JMeter有两种类型的控制器:取样器和逻辑控制器

  取样器(Sampler)

  取样器指示JMeter向一个服务器发送请求。例如,如果让JMeter发送HTTP请求,那么添加一个HTTP请求器。可以向一个取样器中添加一个或多个配置元件来定制请求。查看取样器获得更多信息。

  逻辑控制器  

  逻辑控制器允许定制JMeter何时发送请求。例如,可以添加交替(Interleave)逻辑控制器来在两个HTTP请求取样器之间轮流。查看逻辑控制器获得更多信息。

  5.配置元件(config  element):用于提供对静态数据配置的支持

  6.定时器(Timer):用于操作之间等待时间,等待时间是性能测试中常用的控制客户端QPS(服务器在一秒的时间内处理了多少个请求的一个常用指标)的手段

  7.前置处理器(Per Processors):用于在实际的请求发出之前对即将发出的请求进行特殊处理

  8.后置处理器(Post Processors):用于对Sampler发出请求后的服务器响应进行处理,一般用来提取响应中的特定数据

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

  10.监听器(Listener):用来对测试结果数据进行处理和可视化展示的一系列元件,而不是用来监听系统资源;图形结果、查看结果树、聚合报告、用表格察看结果都是我们经常用到的元件

五、工作台

  在测试中我们可能需要暂时更改一些组件,可以把一些需要更改的组件保存在工作台中,测试完成后再恢复,但是切记:不能退出jmeter.一旦退出jmeter,工作台中的内容就会消失。

猜你喜欢

转载自www.cnblogs.com/passerbyh/p/8950180.html