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

Posted heiqiuxixi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试工具:Jmeter简介及安装相关的知识,希望对你有一定的参考价值。

一、Jmeter简介

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

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

3.Jmeter和LR区别

  Loadrunner Jmeter
安装卸载 比较麻烦,文件体积大 比较简便,文件体积小
脚本录制 支持 支持
参数化 支持 支持
集合点 支持 支持
检查点 支持 支持
关联 支持 支持
多协议 支持 支持
IP欺骗 支持 不支持
多线程 支持 支持
报告生成与导出 支持 支持
测试成本 商业软件,成本高 开源软件,测试成本低

 

二、Jmeter安装配置

 请参考Jmeter工具安装详情:https://www.cnblogs.com/heiqiuxixi/p/12296724.html

 

三、Jmeter文件目录介绍

1.Jmeter压缩包解压需包含以下六个目录及三个文件

技术图片

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的日志展示)

技术图片

 

以上是关于性能测试工具:Jmeter简介及安装的主要内容,如果未能解决你的问题,请参考以下文章

JMeter安装和简介

性能测试工具Locust和JMeter比较-及相关书籍下载

Jmeter使用流程及简单分析监控(jmeter性能测试)

Jmeter使用流程及简单分析监控(jmeter性能测试)

性能工具之Jmeter扩展函数及压测ActiveMQ实践

性能测试工具 - Apache JMeter (安装)