Jmeter-基本组成

Posted marton

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Jmeter-基本组成相关的知识,希望对你有一定的参考价值。

Jmeter基本组成

技术图片

 

X1~X5是负载模拟的一个过程,使用这些组件来完成负载的模拟。

Y1包含负载模拟部分,负责模拟用户请求。

Y2是结果验证部分,对比实际结果与预期结果。

Z负责结果的收集,它既可以在线程组之内,也可以在线程组之外。

 

Jmeter基本原理

建立一个线程池

  V

多线程运行取样器产生大量负责

  V

通过断言来验证结果

通过监听器来记录测试结果

 

如果取样器中有参数化的需求,可以通过配置元件或前置处理器来完成;

如果有关联需求可以通过后置处理器来完成;

如果想要设置运行场景,如模拟多少用户,运行多长时间等,可以通过设置线程组来完成;

如果想要模拟并发场景,可以通过定时器来设置;

如果想要控制业务的执行逻辑,比如只运行一次,可以通过控制器来完成。

 

Jmeter组成部分

取样器

用来模拟用户操作,向服务器发送Http请求,JAVA请求等;

可以把Http请求元件看作一个没有界面的浏览器,它可以发送http请求并接收服务器的响应数据;

取样器元件基本涵盖了我们常见的各种协议。

 

断言

用来验证实际结果是否和预期结果一致

比较常用的是响应断言,对于复杂的断言可以通过BeanShell脚本完成

 

监听器

监听器有两个任务

添加结果监听,保存测试结果到文件,供再次分析使用;

展示结果,以图形或表格的方式展示结果,供测试人员分析测试结果。

 

取样器>断言>监听器 就可以帮助我们完成发送请求>结果验证>记录测试结果这三项工作。

 

前置处理器

在请求发送前做一些环境或参数的准备工作,比如建立一个数据库连接

 

配置元件

性能测试中模拟大量用户进行操作往往需要进行参数化,配置元件可以来完成这个工作;

提供了很多函数来帮助我们生成动态数据;

记录服务器返回的数据;

简而言之,它为取样器提供预备数据,然后由取样器发出请求。

 

后置处理器

一般放在取样器之后,用来处理服务器返回的结果。

比如一个web应用程序,登录后返回一个sessionid,这个sessionid在登录之后的业务操作

过程中作为验证条件,验证用户是否合法登录了。我们利用取样器模拟这个请求时就要带上

这个属性,如何获取?我们直到sessionid是由服务器返回的。我们可以通过正则表达式提取器

来提取数据。

 

前置处理器>配置元件>后置处理器 都是为取样器提供数据支持的,取样器关注的是业务逻辑。

 

控制器

我们在收邮件时,只登录一次就可以查看很多邮件,我们如何通过Jmeter来控制登录的次数,

Jmeter逻辑控制器中的仅一次控制器即可以完成。

 

定时器

为了真实的模拟用户负载,我们有时需要模拟一些请求在同一时刻发送,定时器能够满足这个需求。

 

线程组

用来模拟用户大量负载的情况,设置的线程数就是用户数,一个线程对应一个用户

 

Jmeter运行原理

 Jmeter通过线程组来驱动多个线程运行测试脚本对被测服务器发起负载,每个负载机上都可以运行多个线程组。

 

Jmeter测试计划要素

Jmeter中一个脚本即是一个测试计划,Jmeter的请求模拟与并发数设置都在脚本文件中设置。

要素1,脚本中测试计划只能有一个

Jmeter脚本在GUI中显示时是树形结构,测试计划是根节点,根节点当然只能有一个。

 

要素2,测试计划中至少有一个线程组

Jmeter负载是通过线程组驱动的,一般把不相关联的业务分布在不同的线程组中。

 

要素3,测试计划中至少有一个取样器

测试的目的就是要模拟用户请求,没有取样脚本就毫无意义

 

要素4,测试计划中至少有一个监听器

测试结果用来衡量系统性能

 

其他元件都是为这些要素服务的

以上是关于Jmeter-基本组成的主要内容,如果未能解决你的问题,请参考以下文章

性能测试学习之测试工具Jmeter

JMeter:基本及参数化关联

JMeter的基本使用

Apache JMeter的基本使用

JMeter 性能测试基本过程及示例

JMeter 性能测试基本过程及示例