您的位置:首页 > 博客中心 > 互联网 >

性能测试工具:Jmeter简介及安装

时间:2022-05-10 00:39

一、Jmeter简介

1.Jmeter:Apache Jmeter是由Apache组织的开发源代码项目,是一个纯Java桌面应用,用于压力测试和性能测量。它最初被设计用于web应用测试但后面扩展到其他测试领域。

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

3.Jmeter和LR区别

 

1.1 bin:可执行的文件目录

a.Jmeter.bat:windows的启动文件

b.Jmeter.log:日志文件

c.Jemter.sh:linux的启动文件

d.Jmeter.properties:系统配置文件

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

f.Jmeter-server:linux分布式测试要用到的服务器配置

1.2 docs:接口文档目录

1.3 extras:扩展插件目录

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

1.5 License:Jmeter证书目录

1.6 printable_docs:用户使用手册(实用的)printable_docs/usermanual/index.html

 

四、Jmeter功能概要

1.Jmeter工具组成部分

a.资源生成器:用于生成测试过程中服务器、负载机的资源代码。(LR中的VuGen)

b.用户运行期:通常是一个脚本运行引擎,根据脚本要求模拟指定的用户行为。(LR中的Controller)

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

d.负载发生器:用于产生负载,通常以多线程或多进程的方式模拟用户行为。(LR中Load Generators)

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

2.1 Threads(Users)线程 用户

a. setup thread group

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

b.teardown thread group

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

c.thread group(线程组)

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

技术图片

 

 

 2.2 Test Fragment(测试片段)

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

技术图片

2.3 线程组的8类可执行元件

a.Config Element(配置元件)

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

技术图片

 

 

 

b. Timer(定时器)

  定时器用于操作之间设置等待时间,等待时间是性能测试中常用的控制客户端QPS的手段。类似于LR的“思考时间”。Jmeter定义Bean Shell Timer、Constant Throughput Timer、固定定时器等不同类型的Timer。

技术图片

 

c.Per Processors(前置处理器)

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

技术图片

 

 

d. Post Processors(后置处理器)

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

技术图片

 

 

e. Assertions(断言)

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

技术图片

 

 

f.Listener(监听器)

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

技术图片

 

本类排行

今日推荐

热门手游