Jmeter中线程组介绍

news2024/12/23 16:37:24

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.coloradmin.cn/o/1666046.html

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

相关文章

基于LLM的自行车道CAD

LLM(大型语言模型)是强大的工具。对于许多人来说,用语言表达愿望通常比浏览复杂的 GUI 更简单。 1、系统简介和环境搭建 urb-x.ch,这是一家专门从事自行车道建设的公司。轨道采用模块化构建块进行独特设计,可以通过多…

AI工具的热门与卓越:揭示AI技术的实际应用和影响

文章目录 每日一句正能量前言常用AI工具创新AI应用个人体验分享后记 每日一句正能量 我们在我们的劳动过程中学习思考,劳动的结果,我们认识了世界的奥妙,于是我们就真正来改变生活了。 前言 随着人工智能(AI)技术的快…

prometheus、mysqld_exporter、node_export、Grafana安装配置

工具简介 Prometheus(普罗米修斯):是一个开源的服务监控系统和时间序列数据库 mysqld_exporter: 用于监控 mysql 服务器的开源工具,它是由 Prometheus 社区维护的一个官方 Exporter。该工具通过连接到mysql 服务器并执…

每日一题9:Pandas-填充缺失值

一、每日一题 DataFrame products --------------------- | Column Name | Type | --------------------- | name | object | | quantity | int | | price | int | ---------------------编写一个解决方案,在 quantity 列中将缺失的值 编…

flutter开发实战-人脸识别相机使用

flutter开发实战-人脸识别相机使用 当需要拍摄的时候,需要检测到人脸再进行后续的操作,这里使用的是face_camera 一、引入face_camera 在工程的pubspec.yaml中引入插件 # 检测人脸face_camera: ^0.0.8iOS端需要设置相关权限 在info.plist文件中&…

编程代码的舞者--Python循环语句

循环语句是编程中不可或缺的要素之一,它们能够让程序反复执行特定的任务,提高代码的重复利用性和效率。在本篇博客中,我们将深入探讨Python中常用的循环语句,包括for循环和while循环,以及控制循环流程的关键字break和c…

【Win10设备管理器中无端口选项】

计算机疑难杂症分享002 Win10设备管理器中无端口选项1、问题现象2、问题原因3、问题解决3.1、驱动精灵(亲测的此方法)3.2、添加过时硬件3.3、官方的方法 Win10设备管理器中无端口选项 1、问题现象 当我调试串口通信时,发现打开设备管理器没有端口,打开…

系统需求开发和管理指南(软件标准文件Word)

1.需求获取的方式 2.需求分析的准则 3.需求分析的方法 4.需求开发考虑的方面 5.需求确认的方法 6.需求优先级的设定 7.需求文档编制规范要求 软件全文档获取方式一:本文末个人名片直接获取。 软件全文档获取二:软件项目开发全套文档下载_软件项目文档-C…

Unity开发中导弹路径散射的原理与实现

Unity开发中导弹路径散射的原理与实现 前言逻辑原理代码实现导弹自身脚本外部控制脚本 应用效果结语 前言 前面我们学习了导弹的追踪的效果,但是在动画或游戏中,我们经常可以看到导弹发射后的弹道是不规则的,扭扭曲曲的飞行,然后击…

Leetcode39.组合总和

文章目录 题目描述解题思路重复子集剪枝 代码 题目 参考题解 题目描述 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返…

Python | Leetcode Python题解之第78题子集

题目: 题解: class Solution:def subsets(self, nums: List[int]) -> List[List[int]]:self.res []self.backtrack([], 0, nums)return self.resdef backtrack(self, sol, index, nums):self.res.append(sol)for i in range(index, len(nums)):self…

leetcode-矩阵最长递增路径-102

题目要求 思路 1.通过双循环去把每一个结点作为起始点进行统计,将返回的路径长度存放在res中,取最大的res的长度。 2.递归中需要的几个值,x和y当前结点的坐标,pre用于存储上一个结点的元素值,因为要求是路径上的元素是…

Redis简单使用

认识Redis redis:字典型数据库,存储的是键值对,是NoSql数据库 关系型数据库和NoSql之间的区别: 结构化:NoSql非结构化数据库,松散结构(键值对key-value(可以任意类型)&…

科技查新中化工领域查新点如何确立与提炼?案例讲解!

我国化工科技查新工作始于1985年,至今经历了30多年的发展。化工类课题包含化工、炼油、 冶金、能源、轻工、石化、环境、医药、环保和军工等, 具有物质种类繁多、制备工艺复杂等特点。因此,本文结合化工查新项目实例,总结提高化工…

scrapy的入门

今天我们先学习一下scrapy的入门,Scrapy是一个快速的高层次的网页爬取和网页抓取框架,用于爬取网站并从页面中提取结构化的数据。 1. scrapy的概念和流程 1.1 scrapy的概念 我们先来了解一下scrapy的概念,什么是scrapy: Scrapy是一个Python编写的开源网络爬虫框架…

【userfaultfd+条件竞争劫持modprobe_path】TSGCTF 2021 -- lkgit

前言 入门题,单纯就是完成每日一道 kernel pwn 的 kpi 😀 题目分析 内核版本:v5.10.25,可以使用 userfaultfd,不存在 cg 隔离开启了 smap/smep/kaslr/kpti 保护开启了 SLAB_HADNERN/RANDOM 保护 题目给了源码&…

HarmonyOS NEXT星河版之模拟图片选择器(下)---使用Swiper实现图片滑动预览

文章目录 一、目标二、开撸2.1 改造图片预览Dialog2.2 改造主页面2.3 主页面完整代码 三、小结 一、目标 在前面的介绍中,查看选中的图片都是单张预览,接下来要改造成多张可滑动预览,如下: 二、开撸 2.1 改造图片预览Dialog …

【c++】set、map用法详解

set、map用法详解 1. 关联式容器2. 键值对2.1 :pair2.2:make_pair 3. 树形结构的关联式容器3.1:set构造函数find()erase()insert()count()lower_bound()upper_bound() 3.2:multiset3.3:map构造函数insert()operator[] …

如何在bud里弄3d模型?---模大狮模型网

随着数字化设计的不断发展,越来越多的设计软件提供了对3D模型的支持,为设计师们带来了更广阔的创作空间。Bud作为一款功能强大的设计工具,也提供了添加和编辑3D模型的功能,让用户能够更加灵活地进行设计创作。本文将为您详细介绍如…

最新网页版USB转串口芯片CH340中文规格书手册(20240511)

前言 南京沁恒的产品已经很成熟了,完全可替代国外USB转串口产品,不必迷信FT232,CP2102之类了。 另外,急着买芯片,直接跑过去的,看过几次妹子了:) CH340手册,基于网页3.3版本,规格书…