jmete 学习--基础之名词解释

一.jmeter 体系结构

  1.名词解释

    元件  jmemter工具菜单中的一个子菜单,如http请求,事务控制器等,就是一个元件。

    组件 一组元件的集合,比如逻辑控制器中有事务控制器,仅一次控制器等,这些都是hi元件,但他们被归类到逻辑控制器中,逻辑控制器就是组件。

  2.体系机构

    X 空间分五个维度,

      x1 取样器,

      x2 前置处理器,配置元件,后置处理器,

      x3 控制器,

      x4  定时器

      x5 线程组
          X1~X5 就是一个负载模拟的过程,使用这些这件来远程模拟。

    Y 空间分两个维度

      Y1 包含负载模拟部分

      Y2 断言,负责验证结果

    Z 监听器 负载结构的收集。

  3.jmeter原理

    其原理就是建议一个线程池,多线程运行取样器产生大量负载,在运行过程中通过断言来验证结果的正确性,通过监听器来记录测试结果。

  5. jmeter 组成部分

    取样器:用来模拟用户操作,向服务器(被测系统)发出HTTP请求,Webservice请求或者Java请求等,并接受服务器响应数据。

    断言:用来验证结构是否正切 就是用一个预设的结果与实际结果匹配,匹配到则成功,反之失败。

    监听器

      Jmeter 的测试结果需要添加监听器来收集,他有两个任务

        *添加结果监听

        *展示结果

      取样器 ,断言,监听器组合在一起就可以帮组我们完成发送请求,验证结果及记录三项工作了。

    前置处理器

      在测试脚本的开发过程中,我们在请求发送前可能会做一些环境或者参数的准备工作,这个我们就可以在前置处理器中完成

    配置元件

      性能测试中为了模拟大量用户操作我们往往需要参数化,Jmeter的参数化可以通过配置元件来完成,比如CVS DATA SETCONFIG,他可以从文件中读取数据

    后置处理器

      后置处理器一般放在取样器之后,用来处理服务器的返回结果,比如要在服务器中取出一个字段之类的操作

      前置+后置+配置元件,都是为取样器提供数据支持的。

    控制器

      一些业务逻辑上的规则 ,可以通过控制器来处理,比如一个请求循环几次之类的

    定时器

      为了足够真是的模拟用户的负载,我们有时会需要模拟这些请求在同一时刻发送,这个我们就可以通过定时器来完成。

    线程组

      性能测试需要模拟大量用户负载情况,就可以用线程组来完成

    Test Fragment

      作用:1 在脚本开发过程中可以用来备份或原件

         2 旗下的元件可以被模块控制器调用,可以利用他来模块化请求。

    工作台

      不直接参与运行

 

二.jmeter 运行原理

  jmeter 是以线程的方式来运行的,通过线程组来驱动多个线程。

  jmeter 支持远程运行

    控制机:运行多台jmeter 负载机进行性能测试时,被选中作为管理机的那台机器就是控制器。

    负载机:向被测试应用服务器发起负载的机器,控制机同事也是一台负载机。

    远程运行逻辑:

      远程负载机首先启动Agent程序,待控制机连接;

      控制机连接上远程负载机;

      控制机发送指令启动线程;

      负载机运行脚本 ,回传状态;

      控制机收集结果并显示。

三.jmeter 测试计划要素

  Jmeter 中一个脚本就是一个测试计划,也是一个管理单元

  测试计划要素如下:

    脚本中测试计划只能有一个;

    测试计划中至少要有一个线程组;

    至少要有一个取样器;

      

 

    

转载于:https://www.cnblogs.com/z-wii/p/6965863.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/283411.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Virtual script not found, may missing <script lang=“ts“> / “allowJs“: true / jsconfig.json.volar

解决办法: 在 jsconfig.json 配置文件中设置 "allowJs": true 如果没有jsconfig.json文件,直接在项目要目录创建一个,添加如下配置内容即可: /** Title: This is a file for ……* Author: JackieZheng* Date: 2022…

协鑫集成“熄灯工厂”装上ET工业大脑,验证订单命中率可提高3.99%

4月26日的云栖大会南京峰会,协鑫集成宣布,与阿里云ET工业大脑合作后,通过人工智能验证的订单命中率可提高3.99%。 协鑫集成是全球一线组件制造商,积极致力于推进自主创新与智能制造,综合运用信息通讯、物联网、大数据决…

pip install mysql-connector 安装出错

一、MySQL Connector/Python 2.2.3 的变化: 之前 mysql 官方说MySQL Connector/Python 是纯python语言写的,但是呢! 这个问题在2.2.3中变天了; 以下是MySQL Connector/Python 2.2.3 是变更记录 Changes in MySQL Connector/Python…

2022世界传感器大会 | 龙芯中科发布龙芯2K0500多功能SoC芯片及解决方案

8月21日,由工业和信息化部、中国科学技术协会、河南省人民政府共同主办的2022世界传感器大会在郑州开幕,众多诺奖、图灵奖获得者、海内外院士和专家学者出席,全球传感器领域最具影响力的相关企业参加。龙芯中科董事长胡伟武在大会开幕式发表主…

Vue3 配置config文件,打包后随意修改配置,无需重新打包和重启

在public目录创建config.json文件,名字随便起。 {"AppVersion": "1.0","AppTitle": "这里是程序名称" } 修改AppTitle: {"AppVersion": "1.0","AppTitle": "这里是修改后的…

在Vue3中使用Element Plus Icon图标的几种方式

安装 Element Plus $ npm install element-plus/icons在main.js 引入 import * as ElIcon from element-plus/icons-vueObject.keys(ElIcon).forEach((key) > {app.component(key, ElIcon[key]) }) 方式一&#xff1a;通过 icon"el-icon-plus" 使用 <!-- …

Qt 打印机操作

2019独角兽企业重金招聘Python工程师标准>>> 配置文件加入打印机支持&#xff1a; QT printsupport 1、打印图片 打印图片所需头文件&#xff1a; #include <QPixmap> #include <QPrinter> #include <QPainter> 打印图片代码&#xff1a; QStrin…

spark集群详细搭建过程及遇到的问题解决(四)

在spark集群详细搭建过程及遇到的问题解决&#xff08;三&#xff09;中&#xff0c;我们将讲述了hadoop的安装过程&#xff0c;在本文中将主要讲述spark的安装配置过程。sparkmaster:~/spark$ cd hadoop sparkmaster:~/spark/hadoop$ cd $SPARK_HOME/conf sparkmaster:~/spark…

k8s 读书笔记 - 深入掌握 Pod

什么是 PodPod 是可以在 Kubernetes 中创建和管理的、最小的可部署的计算单元。在同一个 context 下&#xff0c;应用可能还会有独立的 cgroup 隔离机制&#xff0c;一个 Pod 是一个容器环境下的 “逻辑主机”。Pod 是一组容器单元&#xff0c; 这些容器共享存储、网络、以及怎…

Net core 报 Could not load file or assembly ‘System.Security.Permissions 错误

完整错误提示 System.IO.FileNotFoundException:“Could not load file or assembly System.Security.Permissions, Version4.0.3.0, Cultureneutral, PublicKeyTokencc7b13ffcd2ddd51. 系统找不到指定的文件。” 控制台 错误提示&#xff1a; 根据提示可知&#xff1a;这是由…

“芯”痛痛在系统与芯片 转型升级是历史趋势

2019独角兽企业重金招聘Python工程师标准>>> 4月23号&#xff0c;中共中央政治局召开会议&#xff0c;分析研究当前一系列经济工作形势&#xff0c;并且强调完成今年的目标任务&#xff0c;需要付出艰苦努力&#xff0c;关键是要同高质量发展的要求对表&#xff0c;…

如何让Vuex刷新页面数据不丢失?实现方法和原理 vuex-persistedstate 和 vuex-persist的使用

如题&#xff1a;由于vue自身特性的原因&#xff0c;vuex中的数据在页面刷新之后其中的数据会初始化&#xff0c;这就导致组件之间通过vuex传递的数据在用户f5刷新页面之后会丢失 页面刷新后&#xff0c;想保存页面未保存的数据。我们总是习惯于放在浏览器的sessionStorage和l…

linux系统中如何查看日志 (常用命令)

2019独角兽企业重金招聘Python工程师标准>>> linux系统中如何查看日志 (常用命令) cat tail -f 日 志 文 件 说 明 /var/log/message 系统启动后的信息和错误日志&#xff0c;是Red Hat Linux中最常用的日志之一 /var/log/secure 与安全相关的日志信息 /var/log/…

刚刚 Kubernetes 1.25 正式发布,所有变化都在这儿了

此版本带来了 40 项增强功能&#xff0c;略少于Kubernetes 1.24 中的 46 项。在这 40 项增强功能中&#xff0c;13 项正在升级到稳定版&#xff0c;10 项是对现有功能的不断改进&#xff0c;15 项是全新的&#xff0c;2 项是已弃用的功能。此版本的亮点是 PodSecurityPolicies …

vue经验 - 细节小知识点汇总(更新中...)

1. $refs 数据这么绑定的&#xff1a; 然后在created中抛出来&#xff0c;猜猜看看打印的是两个什么&#xff1f; 结果如下&#xff1a; 第一个跑出来了&#xff0c;第二个&#xff0c;却undefiend&#xff0c;没有东西&#xff1f;&#xff01;。。。 后来去官网查看$refs的解…

cf769D(枚举位或运算)

题目链接&#xff1a;http://codeforces.com/problemset/problem/769/D 题意&#xff1a;求给出的 n 个数中有多少对数字的二进制形式恰好有 k 位不同 思路&#xff1a;两个数a, b的二进制形式恰好 k 位不同即 a ^ b 中 1 的个数&#xff0c;那么可以枚举&#xff0e;注意 n 为…

ASP.NET Core 同时支持多种认证方式

前言上次&#xff0c;我们实现了《ASP.NET Core 自定义认证》&#xff1a;services.AddAuthentication(option > {option.DefaultAuthenticateScheme DemoAuthenticationOptions.Scheme;option.DefaultChallengeScheme DemoAuthenticationOptions.Scheme;}).AddDemoAuthen…

Linux shell 编程(七):流程控制语句

流程控制语句 在shell中如果在终端输入多个命令&#xff0c;如果以&分隔则将命令放入后台执行&#xff0c;如果以;分隔&#xff0c;则表示一个命令集合。shell允许使用逻辑操作符&&和||来作为命令分隔符&#xff0c;他们分别时AND和OR. && 如果前面命令执行…

多线程锁--怎么理解Condition

在java.util.concurrent包中&#xff0c;有两个很特殊的工具类&#xff0c;Condition和ReentrantLock,使用过的人都知道&#xff0c;ReentrantLock&#xff08;重入锁&#xff09;是jdk的concurrent包提供的一种独占锁的实现。它继承自Dong Lea的 AbstractQueuedSynchronizer&a…

.NET 8 SDK安装包可以下载了

今早在一个技术交流群看到有.NET 8的安装交流&#xff0c;站长下载了&#xff0c;把安装过程记录了&#xff0c;总结是&#xff1a;目前还无法 正常使用 .NET 8 SDK&#xff0c;虽然可以正常下载、安装&#xff0c;但宇宙第一IDE VS还尚未支持&#xff0c;也许站长打开方式不对…