Jmeter中线程组介绍

1.线程数的意义

        Jmeter采用了线程来模拟用户,即1个线程代表1个用户,线程可以简单理解为计算机处理任务时的一个具体执行人。

        一个任务可以由多个人(线程)共同完成,也可以由一个人(线程)来完成,但是至少需要一个人(线程)来完成。在线程组上设置线程数量为10,代表Jmeter会在瞬间启动10个线程来模拟10个用户发起请求。

Ramp-Up时间(秒)值表示启动所有线程所用的时间。

2.循环的意义

        默认情况下,Jmeter里的每个线程(用户)只会发起一次请求,执行完成后Jmeter就会停止。这个时间通常很 短。但是在实际场景中,大多数的业务都是持续不断的有用户来请求,这秒有10个用户来请求,下一秒还会有 10个用户。好多系统能够支持短时间内的大量并发请求,但是持续一段时候可能就会挂掉。因此使用Jmeter来 压测时,也必须让Jmeter持续的来模拟新的用户请求,这样才能更贴近实际场景。才能测出更多的问题。 Jmeter里可以设置循环次数,让一个线程(用户)执行完一次请求后,还能继续执行请求,持续产生压力。

        循环可以通过设置固定的循环次数和固定循环时间来达到效果。

2.1.固定循环次数

        比如设置循环次数1000,代表每个线程连续执行1000次线程组内的请求,10个线程总共执行10000次请求。

2.2.固定循环时间

        勾选永远,勾选调度器,设置持续时间,单位为秒。图中设置为180,代表持续每个线程持续执行180秒。

3.线程组的执行逻辑

        在做脚本设计时,如果有多种业务同时压测,可以创建多个线程组,每 个线程组上设置不同的线程数,线程组之间是相互独立的。线程组就代 表了不同的人群。可以理解成线程组相当于是公司里的不同部门,每个 部门有若干个员工(线程数),每个部门做的事情是相互独立的,互不 影响。

如果某个业务需要调用多个接口来完成,通常会把多个接口写到同一个 线程组内,代表了一个业务流程,比如“登录-加购物车-下单”。同一 个线程组内的每个线程都会按照从上到下的顺序去执行请求,而且每个 线程之间的工作也是相互独立。

        可以理解为销售部的每一个员工,他们 在工作时,都会按照一个“寻找客户-忽悠客户-签合同”的顺序,每个 员工都是在做自己的工作,有自己的客户,相互独立。 因为线程组上通常都设置了循环次数,因此每个线程执行完请求后,会 继续循环下一轮,一直到循环结束。在销售部里面,每个员工签订完一 个客户后,会继续再次"寻找客户-忽悠客户-签合同"的流程。

3.1.线程组和请求设置逻辑

关键逻辑:

        一个线程组内的多个请求是顺序执行的;

        不同线程组内的请求是并行执行的。

线程组和请求的关系:

        如果多个接口之间没有强依赖关系,每个接口单独设置一个线程组;

        如果多个接口之间有依赖关系(数据关联),把有关联关系的接口按照顺放在同一个线程组内。

4.特殊的线程组

4.1.setUp线程组

        执行全局初始化操作的线程组,在所有线程组前执行。

4.2.tearDown线程组

        执行全局结束操作的线程组,在所有线程组之后执行。

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

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

相关文章

Fastapi+docker+tortoise-orm+celery

因为项目是后期引入celery,所以导致构建docker的时候只有fastapi的项目,celery的重启比较麻烦 1.docker安装celery pip install celery安装celery的时候注意python版本与celery版本的适配,有些celery的版本不支持python的版本,具体的版本请看…

Ubuntu-22.04使用systemd.mount挂载本地磁盘

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、systemd.mount是什么?二、使用步骤1.增加mount文件2.测试mount文件 三、补充说明总结 前言 挂载磁盘方式我们都知道很多人喜欢在/etc/fstab里面…

网络基础-ICMP协议

ICMP(Internet Control Message Protocol, Internet控制消息协议) ICMP协议是IP协议的辅助协议,用于在IP网络上发送控制消息,它通常被用于诊断网络故障、执行网络管理任务以及提供一些错误报告;对于收集各…

微信原生小程序封装网络请求wx.request

安装 npm install mina-request构建 安装完成后需要在微信开发中工具中进行 npm 构建, 点击 工具 > 构建 npm 新建 http.js 文件 import WxRequest from mina-request // 对 WxRequest 进行实例化 const instance new WxRequest({baseUrl: 你的请求根路径,tim…

深入理解线程的两阶段终止模式:确保线程安全退出

序言 在多线程编程中,线程的安全退出是一个重要的问题。在实际应用中,我们经常需要确保线程在退出时能够完成必要的清理工作,同时避免因资源泄漏或状态不一致而导致的问题。线程的两阶段终止模式是一种解决这个问题的有效方法。本文将深入探…

React - sass配置

1. idea下载Easy Sass插件: 2. 启用后,我们写的scss文件不能直引用,所以还要下载sass依赖: (推荐使用.scss,因为与原生.css写法接近,.sass格式更严格) // 下载sass依赖 npm install sass sass-loader --s…

目标检测算法YOLOv7简介

YOLOv7由Chien-Yao Wang等人于2022年提出,论文名为:《YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors》,论文见:https://arxiv.org/pdf/2207.02696 ,项目网页&#xff…

Go语言系统学习笔记(三):杂项篇

1. 写在前面 公司的新业务开发需要用到go语言,虽然之前没接触过这门语言,但在大模型的帮助下,边看项目边写代码也能进行go的项目开发,不过,写了一段时间代码之后,总感觉对go语言本身,我的知识体…

【Linux】从零开始认识动静态库 - 静态库

送给大家一句话: 永不言弃,就是我的魔法! ——阿斯塔《黑色四叶草》 ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ଘ(੭ˊ꒳​ˋ)੭✧ 从零…

C语言算法之队列快速入门教程

队列结构 queue.h #ifndef ZDPC_ALGORITHM_DEV_QUEUE_H #define ZDPC_ALGORITHM_DEV_QUEUE_H// 队列 typedef struct queue {int *arr; // 容器int cap; // 容量int size; // 元素个数int front; // 队首,用于出队int tail // 队尾,用于入队 } Queue;#…

Linux虚拟机运行“yum install gcc-c++”报错“Loading mirror speeds from cached hostfile”

目录 一、在Linux上安装Redis时,在终端执行命令“yum install gcc-c”时,报错: 二、然后发现linux的网络不通,什么网站都访问不了 三、连上网后,再变换yum源 四、重新运行yum install gcc 一、在Linux上安装Redis时…

Java中55种锁,高级面试题,最新面试题

Java中乐观锁在实际应用中如何解决并发问题? 乐观锁通过假设并发冲突发生概率较低来解决并发问题,主要通过数据版本控制实现。在更新数据前,会检查数据版本是否发生变化,只有在数据版本未变时才允许更新,这样可以避免…

SIUI便携式B超机维修Apogee 1000兽医超声波检查仪宠物医疗彩色多普勒深圳捷达工控维修

带微凸探头的 Siui Apogee 1000 Lite Siui 的最新版本提供了 Apogee 2300 的经济高效、高度便携的替代方案。 非常适合: 小动物兽医实践侧重于主要腹部、甲状腺和小部位的高分辨率成像。 流动兽医。 兽医进行心脏筛查,而不是进行全面超声心动图检查&am…

nginx_01

1.安装 yum install epel-release -y # 安装yum的扩展包 yum install nginx -y systemctl start nginx.service #启动nginx systemctl enable nginx.service # netstat -lntup # 查看端口占用情况 # 可以看到nginx默认占用了80端口 2.nginx配置 # 注意配置文件的语法格式…

haproxy配置安装,实现web服务器负载均衡

一、源码编译安装haproxy 2.x,配置服务启动脚本 1. 下载Haproxy源码包: wget -c https://repo.huaweicloud.com/haproxy/2.4/src/haproxy-2.4.8.tar.gz 2. 下载源码编译工具: yum install -y gcc gcc-c make 3. 下载Haproxy依赖包lua并编…

万物生长大会 | 创邻科技再登杭州准独角兽榜单

近日,由民建中央、中国科协指导,民建浙江省委会、中国投资发展促进会联合办的第八届万物生长大会在杭州举办。 在这场创新创业领域一年一度的盛会上,杭州市创业投资协会联合微链共同发布《2024杭州独角兽&准独角兽企业榜单》。榜单显示&…

什么是股指期货风险度?

期货风险度就像是你账户的“健康指标”,它告诉我们你用了多少资金来持有期货合约,以及你账户里还剩下多少“备用金”。风险度越高,意味着你的“备用金”越少,如果市场突然变化,你可能需要迅速补充资金。 股指期货风险…

Flink Stream API实践

目录 Flink程序的基本构成 获得执行环境(environment) 加载/初始化数据(source) 基于文件 基于socket 基于集合 自定义 转换操作(transformation) 基本转换 物理分区 任务链和资源组 名称和描述…

小红书搞钱美学课-6.0升级版,账号搭建/爆款创作/工具实战/账号变现篇

让我们用视觉撬动流量 课程体系 334253课程权益(5周服务期) 3节账号运营基础课3节自媒体笔记创作课。4节封面设计实操课2次实操加餐分享5次作业指导(一对一)3次答疑直播 课程大纲 一、账号搭建篇 变现模板、精准定位 二、爆款创作篇爆款选题、首图、文案与脚本、快速涨粉…

redis入门学习

一、基础架构 一、应用场景 1、缓存:将后端数据库的热数据缓存到redis中,然后直接从内存中读取数据,提高响应速度。 2、消息队列 3、排行榜,一般用于游戏行业 二、基础结构 1、数据结构 sring(字符串&#xff09…