【JMeter】常用线程组设置策略
目录
一、前言
二、单场景基准测试
1.介绍
2.线程组设计
3.测试结果
三、单场景并发测试
1.介绍
2.线程组设计
3.测试结果
四、单场景容量/爬坡测试
1.介绍
2.线程组设计
3.测试结果
五、混合场景容量/并发测试
1.介绍
六、稳定性测试
1.介绍
2.线程组设计
3.测试结果
一、前言
在JMeter压力测试中,我们时常见到的几个场景有:单场景基准测试、单场景并发测试、单场景容量测试、混合场景容量测试、混合场景并发测试以及混合场景稳定性测试
在本篇文章中,我们会用到一些插件,在这边先给大家列出:
- Custom Thread Groups插件
PS:在我们正式测试中,统一使用非GUI界面运行,只有在调试时候我们才会用GUI运行
二、单场景基准测试
1.介绍
单场景基准测试,一般在压力测试实施前进行测试,用于检测被测功能的性能指标,以用来判断制定后期的测试计划。基准测试的策略可以是单用户执行一次或者单用户迭代执行多次。在这里我们采用后者。
2.线程组设计
这里的脚本设计很简单,就是1线程组循环100次。简单!

3.测试结果
(一般情况下我们在生成的HTML报告查看测试结果,当然也可以在GUI界面导入我们生成的jtl文件)

三、单场景并发测试
1.介绍
单场景并发测试是针对单个接口利用一定量的并发进行测试,获取其性能表现,并验证接口是否存在并发性问题。
2.线程组设计
单场景并发测试的设计比较简单,就是在线程组设置中设置若干数量的线程数。这里我们通过Custom Thread Groups插件来更好体现线程组设计。
该线程组意思为:
2000用户并发,在200S完成加载到2000用;然后持续运行900S,然后以100S来结束2000用户

3.测试结果

四、单场景容量/爬坡测试
1.介绍
单场景容量测试,也叫做爬坡测试,通过爬坡测试。获得系统的最佳并发用户数。
2.线程组设计
在这里我们也使用插件来表现

我们来简单讲一下一下这个线程组设计
首先我们这个线程组是以1000并发数开始,每次递增200用户,指导递增到2000用户。
首先第三和第四列可以根据自己需求进行设计。
其实也很简单。按照我们的设计,低234列相加的和要是2000。
我们可以根据第二列来计算出所有,首先我们要形成阶梯式递增,那就得初始化时间等于在此之前并发的运行时间。
我们看第二行的400。他等于增加到1000用户的100s+平均每个阶梯平缓的时间(1900s-20s*5)/6=400s
这个20*5就是要扣除五个200增加的过程对应时间,然后除去平台总数6
第三行就很简单了,也就是400s+300s+20s=720s。
这里讲的比较乱,也比较绕,自己能力问题不能讲的太好,请见谅。
3.测试结果
容量测试的结果更建议大家到HTML报告中进行查看
我们先看看Response Times Over Time,很明显在13.09左右达到了3s左右的响应时间

那我们再看看Active Threads Over Time中该时间段的并发用户数,由此可见最佳用户数是1400

五、混合场景容量/并发测试
1.介绍
这个其实就没啥可说的了,和单场景的差别不大,无非就是多个场景混合在一起了。我们就不介绍了
六、稳定性测试
1.介绍
稳定性测试是为获取多个接口在长时间的负载级别下,平均响应时间、资源利用率的稳定性、事务成功率的稳定性,验证系统的稳定运行能力,获取系统长时间运行的稳定性指标。在稳定性测试中,我们往往要跑好几个小时的性能脚本,所以一般建议大家一定要在下班后挂着
2.线程组设计
在这里我们拿五个脚本。一共是2000用户并发。按照惯例我们最后得到每个脚本为240用户并发。于是每个线程组设置为

3.测试结果

以上就是这节的全部内容,如有错误,还请各位指正!
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
【留言:Jmeter学习教程,即可】


相关文章:
【JMeter】常用线程组设置策略
目录 一、前言 二、单场景基准测试 1.介绍 2.线程组设计 3.测试结果 三、单场景并发测试 1.介绍 2.线程组设计 3.测试结果 四、单场景容量/爬坡测试 1.介绍 2.线程组设计 3.测试结果 五、混合场景容量/并发测试 1.介绍 六、稳定性测试 1.介绍 2.线程组设计 …...
【数据结构】回溯算法公式化解题 leetcode经典题目带刷:全排列、组合、子集
目录 回溯算法一、什么是回溯算法1、基本思想:2、一般步骤: 二、题目带练1、全排列2、组合3、子集 三、公式总结 回溯算法 一、什么是回溯算法 回溯算法(Backtracking Algorithm)是一种解决组合问题、排列问题、选择问题等一类问…...
WPF基础入门-Class3-WPF数据模板
WPF基础入门 Class3:WPF数据模板 1、先在cs文件中定义一些数据 public partial class Class_4 : Window{public Class_4(){InitializeComponent();List<Color> test new List<Color>();test.Add(new Color() { Code "Yellow", Name &qu…...
js将搜索的关键字加颜色
js将搜索的关键字加颜色 使用正则匹配关键字并加入span标签,页面渲染时使用v-html渲染即可 // 文本框内容 let searchCont 测试;const reg new RegExp((${searchCont.value}), g); let data 图片保存测试A; data data.replace(reg, <span style"color:…...
Docker安装Oracle数据库打开、链接速度很慢
问题: 使用Docker安装Oracle数据库打开、链接速度很慢,明显的在在转圈严重影响效率。 解决: 排查到DNS时,发现宿主机DNS配置清空后,通过JDBC连接目标Oracle数据库速度很快 进入容器中进行测试,发现清空DNS…...
学生分班查询系统的创建与使用指南
开学季,负责分班工作的老师们又面临一个难题:如何公布分班结果?将结果放在学校官网上可能会让很多无关人员看到,而不放则会导致家长们纷纷打电话来询问。那么,有没有一种方法可以让家长们自行查看分班结果呢࿱…...
全套解决方案:基于pytorch、transformers的中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据!
全套解决方案:基于pytorch、transformers的中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据! 1.简介 目标:基于pytorch、transformers做中文领域的nlp开箱即用的训练框架,提…...
ffmpeg
文章目录 libavcodec实现 libavformat实现libavfilter实现 libswscale实现对比libavfilter图像处理libswscale vs libyuvlibavutil 命令行工具ffmpeg例子 ffprobe例子 FFmpeg 是一个由 C 语言编写的开源跨平台音视频处理工具集,它具有模块化的架构。下面是 FFmpeg 的…...
CH03_代码的坏味道(下)
循环语句(Loops) 从最早的编程语言开始,循环就一直是程序设计的核心要素。如今,函数作为一等公民已经得到了广泛的支持,因此我们可以使用以管道取代循环(231)管道操作(如filter和ma…...
journal日志导致服务器磁盘满
背景 ubuntu 18.04服务器磁盘突然100% 一查/var/log/journal目录占了14G 清理 要清理 journal 日志,可以使用以下步骤: 运行以下命令来查看 journal 日志的使用情况: journalctl --disk-usage这将显示 journal 日志的当前使用情况&#x…...
“Go程序员面试笔试宝典”复习便签
一.逃逸分析 1.1逃逸分析是什么? 逃逸分析,主要是Go编译器用来决定变量分配在堆或者栈的手段。 区分于C/C手动管理内存分配,Go将这些工作交给了编译器。 1.2逃逸分析有什么作用 解放程序员。程序员不需要手动指定指针分配内存。 灵活的…...
数组的度(指数组里任一元素出现频数的最大值)
题目: 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入:nums …...
scala array类型参数
在Scala中,数组(Array)是一种用于存储相同类型元素的数据结构。数组可以用于保存基本数据类型和自定义数据类型的元素。当定义数组类型参数时,您通常是在函数、类或方法签名中使用它们。以下是一些有关Scala数组类型参数的示例&am…...
构建 NodeJS 影院预订微服务并使用 docker 部署(03/4)
一、说明 构建一个微服务的电影网站,需要Docker、NodeJS、MongoDB,这样的案例您见过吗?如果对此有兴趣,您就继续往下看吧。 你好社区,这是🏰“构建 NodeJS 影院微服务”系列的第三篇文章。本系列文章演示了…...
html写一个向flask_socketio发送消息和接收消息并显示在页面上
以下是一个简单的HTML页面,它包含一个输入框、一个发送按钮和一个显示区域。用户可以在输入框中输入消息,点击发送按钮,然后这个消息会被发送到 Flask-SocketIO 服务器。当服务器回应消息时,它会在页面的显示区域显示出来。 <…...
C#使用.Net Core进行跨平台开发
使用 .NET Core 进行跨平台开发是一种灵活的方法,可以在多个操作系统上运行 C# 应用程序。以下是在 C# 中使用 .NET Core 进行跨平台开发的一般步骤: 安装 .NET Core SDK: 在开始之前,需要安装适用于操作系统的 .NET Core SDK。可…...
Java“牵手”天猫店铺所有商品API接口数据,通过店铺ID获取整店商品详情数据,天猫API申请指南
天猫商城是一个网上购物平台,售卖各类商品,包括服装、鞋类、家居用品、美妆产品、电子产品等。天猫商品详情可以帮助消费者更好的了解宝贝信息,从而做出购买决策。同时,消费者也可以通过商品详情了解其他买家对宝贝的评价…...
php输入post过滤函数,入库出库,显示
第一部分 php输入post过滤函数 function GLOBAL_POST($str) {$str_origin$str; if (empty($str)) return false;$str str_replace( /, "", $str);//替换关键词 $str str_replace("\\", "", $str); $str str_replace(">", &…...
matlab-对数据集加噪声并实现tsne可视化
matlab-对数据集加噪声并实现tsne可视化 最近才知道,原来可以不用模型,也能实现对数据集数据的可视化。 **一、**以COIL-100数据集为例子。 问题: 前提:首先对COIL-100数据集根据角度0-175和180-255,分别划分成C1,C…...
【BASH】回顾与知识点梳理(三十八)
【BASH】回顾与知识点梳理 三十八 三十八. 源码概念及简单编译38.1 开放源码的软件安装与升级简介什么是开放源码、编译程序与可执行文件什么是函式库什么是 make 与 configure什么是 Tarball 的软件如何安装与升级软件 38.2 使用传统程序语言进行编译的简单范例单一程序&#…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
FastAPI 教程:从入门到实践
FastAPI 是一个现代、快速(高性能)的 Web 框架,用于构建 API,支持 Python 3.6。它基于标准 Python 类型提示,易于学习且功能强大。以下是一个完整的 FastAPI 入门教程,涵盖从环境搭建到创建并运行一个简单的…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
python报错No module named ‘tensorflow.keras‘
是由于不同版本的tensorflow下的keras所在的路径不同,结合所安装的tensorflow的目录结构修改from语句即可。 原语句: from tensorflow.keras.layers import Conv1D, MaxPooling1D, LSTM, Dense 修改后: from tensorflow.python.keras.lay…...
Xen Server服务器释放磁盘空间
disk.sh #!/bin/bashcd /run/sr-mount/e54f0646-ae11-0457-b64f-eba4673b824c # 全部虚拟机物理磁盘文件存储 a$(ls -l | awk {print $NF} | cut -d. -f1) # 使用中的虚拟机物理磁盘文件 b$(xe vm-disk-list --multiple | grep uuid | awk {print $NF})printf "%s\n"…...
#Uniapp篇:chrome调试unapp适配
chrome调试设备----使用Android模拟机开发调试移动端页面 Chrome://inspect/#devices MuMu模拟器Edge浏览器:Android原生APP嵌入的H5页面元素定位 chrome://inspect/#devices uniapp单位适配 根路径下 postcss.config.js 需要装这些插件 “postcss”: “^8.5.…...
使用Spring AI和MCP协议构建图片搜索服务
目录 使用Spring AI和MCP协议构建图片搜索服务 引言 技术栈概览 项目架构设计 架构图 服务端开发 1. 创建Spring Boot项目 2. 实现图片搜索工具 3. 配置传输模式 Stdio模式(本地调用) SSE模式(远程调用) 4. 注册工具提…...
[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...
