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,一经查实,立即删除!

相关文章

Testing - 软件测试知识梳理 - 自动化测试

软件开发的过程是一个持续集成和改进的过程,而每一次的改进都可能引进新bug,因此当软件的一部,或者全部修改时,都需要对软件产品重新进行测试。 其目的是要验证修改后的产品是符合需求的,而当没有自动化测试代码时,往往…

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": "这里是修改后的…

TypeError: pyqtSignal must be bound to a QObject

super(MyQObject, self).__init__() #如果写了__init__()函数,这一行一定要有,否则会出现 #TypeError: pyqtSignal must be bound to a QObject, not MyQObject转载于:https://www.cnblogs.com/CGAlpha/p/6971527.html

Jmeter-3.0的源码导入eclipse并执行

最近在研究jmeter二次开发,所以需要先jmeter导入Eclipse,后续还需要学习jmeter源码以及二次开发的相关知识,到时候也会分享出来,下面是jmeter导入Eclipse的过程首先去官网下载apache-jmeter-3.0的源码包和release包(二…

在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…

centOS7 安装mysql 设置远程访问

CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件&#xff0c;需要去官网上下载 # wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm# rpm -ivh mysql-community-release-el7-5.noarch.rpm# yum install mysql-community-server成功安装之后…

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/…

C语言之基本算法26—佩尔方程求解

//穷举法&#xff01;/*题目&#xff1a;求佩尔方程x*x-73*y*y1的解。 */ #include<stdio.h> #include<math.h> int main(void) {int x,y;double t;for(y1;y<10000000;y){t1.073.0*y*y;x(int)sqrt(t);if((x<10000000)&&(1.0*x*xt))printf("x%8d…

刚刚 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的解…