jmeter逻辑控制器和定时器

news2024/10/7 12:17:28

常用逻辑控制器和定时器

  • 一、认识逻辑控制器
    • 一、作用:⼀个事务会包含并请求
    • 二、常见逻辑控制器介绍
      • 1、simple controller
      • 2、recorder controller
      • 3、loop controller
      • 4、random controller
      • 5、if controller
      • 6、module/include controller
      • 7、transaction controller
  • 三、Jmeter定时器
    • 一、作用:
    • 二、常用定时器
      • 1、固定定时器(Constant Timer)
      • 2、高斯随机定时器(Gaussian Random Timer)
      • 3、常数吞吐量定时器(Constant Throughput Timer)

一、认识逻辑控制器

一、作用:⼀个事务会包含并请求

在这里插入图片描述

二、常见逻辑控制器介绍

1、simple controller

作用:把一系列请求聚合在一起,方便进行管理

2、recorder controller

作用:把录制的请求存放在下面

3、loop controller

作用:指定其子节点运行的次数,可以使⽤具体的数值,也可以使用变量

  • 1、Forever选项:表示⼀直循环下去
  • 2、如果同时设置了线程组的循环次数和循环控制器的循环次数,那循环控制器的⼦节点运⾏的次数为两个数值相乘的结果
    在这里插入图片描述
    例子:这里添加了loop controller,然后在里面设置百度跑5次,然后知乎在控制器外,只设置1次,所以这里百度跑5次,知乎跑1次
    在这里插入图片描述

4、random controller

作用:随机执行其下的某个子结点Demo
例子:这里随机控制器里面有3个,每次都随机执行其中任意一个
在这里插入图片描述

5、if controller

作用:某个判断
例子:上一个请求成功才能执行下一个请求(可以做条件判断,避免写入脏数据,在一些简单场景下可以替代后置处理器,做简单的逻辑判断)

  • 首先我们在上面添加谷歌的sample(访问不了,肯定会失败)
  • 然后我们在if逻辑控制器里添加这个条件
    ps:JMeterThread.last_sample_ok 这个参数表示接口是否请求成功,返回true或者false
    在这里插入图片描述
  • 最后我们在if控制器里面添加百度的sample,然后运行,这里发现因为Google访问失败,故访问百度没有执行
    在这里插入图片描述

6、module/include controller

作用

  • module controller:把其他模块module当做自己的下属模块复用
  • include controller:把其他test plan引用进来当做一个完整的处理逻辑使用
    在这里插入图片描述

7、transaction controller

作用:一个事务会包含并请求
讲这个之前,我们需要先了解TPS和QPS

  • QPS:每秒钟处理完请求的次数:注意这里是处理完。具体是指发出请求到服务器处理完成返回成功结果。可以理解有个counter,每处理一个请求+1,1s后counter=QPS
  • TPS:每秒钟处理完的事务次数,一般TPS是对整个系统来讲的。一个应用系统1s能完成多少事务处理,一个事务在分布式处理中,可能会对应多个请求,对于衡量单个接口服务的处理能力,用QPS比较多
  • 如果一个事务只包含一个请求,那他们的数据是一致的,如果一个事务有多个请求相互关联,那他们的内容就会不同,我们关注的一般是事务而不是请求的耗时,这个时候我们就可以添加事务控制器了
    例子:这里可以看到事务会把两个的结果相加
    在这里插入图片描述

三、Jmeter定时器

一、作用:

实际操作中,模拟真实⽤户在操作过程中的等待时间

二、常用定时器

1、固定定时器(Constant Timer)

设置固定时间,比如我们设置每隔3s执行一次
在这里插入图片描述

2、高斯随机定时器(Gaussian Random Timer)

在这里插入图片描述

设置随机时间执行

  • Deviations (milliseconds) ⾼斯定时器参数,从100毫秒里随机选择一个作为高斯分布的时间点
  • Constant Delay Offset (milliseconds) 固定等待时⻓,也是毫秒为单位
  • 两者加在一起就是总的延迟时长
  • 这个功能互联网行业不太用到,因为互联网行业认为用户是无时无刻都会来访问的,传统行业用的较多

在这里插入图片描述

3、常数吞吐量定时器(Constant Throughput Timer)

常用,重点掌握!

在这里插入图片描述

  • 产生背景:线程组无法控制TPS,QPS,只能控制线程数(并发用户数),如我想用100线程并发模拟1000QPS的任务,但是实际操作有时候会超过1000QPS,导致服务挂掉,这个时候我们就需要用到吞吐量定时器
  • Target throughput(in samples per minute):目标吞吐量。注意这里是每分钟发送的请求数,因此,对应测试需求中所要求的20 QPS ,这⾥的值应该是1200 。
  • Calculate Throughput based on:有5个选项,分别是:
    • This thread only:控制每个线程的吞吐量,选择这种模式时,总的吞吐量为设置的 target Throughput 乘以线程的数量。
    • All active threads:设置的target Throughput 将分配在每个活跃线程上,每个活跃线程在
      上⼀次运⾏结束后等待合理的时间后再次运⾏。活跃线程指同⼀时刻同时运⾏的线程。
    • All active threads in current thread group:设置的target Throughput将分配在当前线程组的每⼀个活跃线程上,当测试计划中只有⼀个线程组时,该选项和All active threads选项的效果完全相同。
    • All active threads (shared ):与All active threads 的选项基本相同,唯⼀的区别是,每个活跃线程都会在所有活跃线程上⼀次运⾏结束后等待合理的时间后再次运⾏。
    • All cative threads in current thread group (shared ):与All active threads in current thread group 基本相同,唯⼀的区别是,每个活跃线程都会在所有活跃线程的上⼀次运

例子:
比如有个订单的线程组,我们设置20个并发用户同时下单,吞吐量设置为1200

在这里插入图片描述
在这里插入图片描述
100个用户浏览门店商品,吞吐量设置为6000
在这里插入图片描述
在这里插入图片描述
我们可以通过配置线程数和吞吐量等方式来控制事务的QPS

小TIPS:
如果希望在 sampler 执⾏完之后再等待,则可以使⽤Test Action,5.0 叫 Flow Control Action(sampler-flow control action)

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

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

相关文章

A Survey on Bias and Fairness in Machine Learning 阅读笔记

论文链接 Section 1 引言 1. In the context of decision-making, fairness is the absence of any prejudice or favoritism toward an individual or group based on their inherent or acquired characteristics. 公平是指基于个人或群体的固有或后天特征而对其没有任何偏…

【sfu】rtc 入口

rtc 入口 入口是 rtc adpter 类。 准备 call模块的所有资源 通过call模块使用webrtc内置 各类 rtcadpter的创建类rtcadpterfactory 是外部创建的 创建adapterfactory的外部类是peerconnection adapter_factory_ = std::move(std::make_unique

融云全球社交泛娱乐洞察,互联网社交换挡期的「社区产品」机遇

一切应用都将社交化。关注【融云全球互联网通信云】回复【融云】抽取高颜值大容量高端可乐保温杯哦~ 融入社交能力,创造增长奇迹。激活用户在不同场景的社交需求,让应用焕发新的生命力,也让“社交X”成为出海最大的浪。 《2022 社交泛娱乐出…

编译原理--基本块的划分

基本块的划分原则有4条 初始语句作为第一个基本块的入口遇到标号类语句,结束当前基本块,标号作为新基本块的入口(标号不在当前基本块中,而是划到下一个基本块)遇到转移类语句时,结束当前当前基本块&#x…

Java反序列化之CommonsCollections(CC1)分析篇

文章目录前言一、过程分析 1.入口点---危险方法InvokerTransformer.transform() 2.触发危险函数TransformedMap.checkSetValue() 3.AnnotationInvocationHandler类 4.ChainedTransformer类 5.ChainedTransformer类前言 本文包括:Java反序列化之CommonsCol…

3DMAX一键生成螺母和螺栓插件使用教程

插件介绍 3DMAX一键生成螺母和螺栓插件,用于创建精缰化的螺母和螺栓模型。这些模型是逼真的,只需单击一下即可生成。有许多参数可以定制模型的外观或尺寸。 主要功能 单击创建螺母、螺栓和垫圈在螺栓顶部创建文本标记(商标)直径…

关于不同长度PEG的丙炔:Pyrene-PEG2/PEG3/PEG4/PEG5-propargyl,1817735-33-3

Pyrene-PEG2-Propargyl中芘用于蛋白质构象和相互作用研究中的荧光探针,降冰片烯很容易与叠氮化物和四嗪反应,可用于用荧光团和功能分子标记细胞,亲水性 PEG 间隔臂可以增加水溶性。包括PEG2、PEG3、PEG4、PEG5等不同长度的PEG。 1、Pyrene-PE…

大数据:Shell的操作

文章目录HDFS常用命令一、创建目录1、创建单层目录2、创建多层目录查看目录三、上传本地文件到HDFS四、查看文件内容五、下载HDFS文件到本地六、删除HDFS文件七、删除HDFS目录HDFS常用命令 启动Hadoop集群命令:start-all.sh 一、创建目录 1、创建单层目录 命令…

Spring Boot Auto-Configuration

Spring 自定义Auto-Configuration Spring Boot 可以根据classpath中依赖关系自动装配应用程序。通过自动装配机制,可以使开发更快、更简单。今天,学习下如何在Spring Boot 中创建自定义 auto-configuration。 代码运行环境 JDK17MYSQL8源码地址 Mave…

[附源码]Python计算机毕业设计大学生心理健康管理系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

VSCODE编译阿里云HaaS程序时遇到Win32file找不到错误怎么办?

摘要:本文介绍DLL load failed while importing win32file:找不到指定的程序,这个错误的解决方法。使用vscode拉取阿里云HaaS物联网开发案例代码时,可能会遇到编译出错的情况,可能会遇到一些意外的问题,并非…

通过Native Memory Tracking查JVM的线程内存使用(线上JVM排障之九)

很多时候会面对线上内存使用很多,特别是本地内存怎么用的说不太清,就是每一块内存总和和总的Java线程占用内存不匹配。 很多时候如果dump出来内存也没有太大的作用,因为本地内存是看不到。本地内存有很多是线程占用的空间。 以下图为例,这是一个线上的服务的JVM各块内存使…

YOLOV5在deepstream6.1.1上应用

目录 0.前言 1.Yolov5模型 1.1模型生成 1.2模型转换 1.2.1 yolov5模型转换为onnx 1.2.2 onnx模型转换为engine 2.deepstream介绍 2.1简介 2.2安装 2.2.1 dGpu 2.2.2 Jetson 2.3使用方法 3.Yolov5模型在deepstream6.1.1上应用 3.1Yolov5输出与deepstream对接 3.1…

[附源码]java毕业设计学生信息管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

论文阅读:Fast Color Segementation

Fast Color Segementation 发表于CVPR 2020,主要是对之前的一篇图像软分割的论文(参见:论文回顾:Unmixing-Based Soft Color Segmentation for Image Manipulation,Aksoy 2017)进行改进。 一、论文简介 […

【Mac】Mac与PlayCover、Mac关闭sip

文章目录Mac笔记本使用PlayCover游玩Ipad游戏1.1 Mac 安装 PlayCover1.2 Mac 安装 原神/明日方舟1.3 注意事项Mac笔记本关闭sip2.1 查看sip状态2.2 关闭sip为什么要关闭SIP,关闭SIP的利与弊,请看:3.1 什么时候要关闭sip3.2 sip是什么3.3 关闭…

[附源码]Python计算机毕业设计大学生项目众筹系统

项目运行 环境配置: Pychram社区版 python3.7.7 Mysql5.7 HBuilderXlist pipNavicat11Djangonodejs。 项目技术: django python Vue 等等组成,B/S模式 pychram管理等等。 环境需要 1.运行环境:最好是python3.7.7,…

webpack详解

webpack 是代码编译工具,有入口、出口、loader 和插件。webpack 是一个用于现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个依赖图(dependency graph),此依赖图对应映射到项目所需的每个模块&…

Django中的CSRF使用及ajax请求接口时问题总结

前言说明 在Django中提交数据到后端服务的时候,为了安全,要使用CSRF(跨站请求伪造)。跨站请求伪造的问题在于,服务器信任来自客户端的数据。 常规的做法是在template模板HTML文件中的form表单 中添加 {% csrf_token …

葡萄糖-聚乙二醇-巯基Glucose-PEG-Alkyne|葡萄糖-聚乙二醇-生物素Glucose-PEG-Biotin

葡萄糖-聚乙二醇-巯基Glucose-PEG-Alkyne 巯基,又称氢硫基或硫醇基,是由一个硫原子和一个氢原子相连组成的负一价官能团,化学式为-SH。巯基端连接不同的基团,有机物所属的类别不同,如硫醇(R-SH&#xff09…