当前位置: 首页 > news >正文

【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学习教程,即可】


http://www.lryc.cn/news/139183.html

相关文章:

  • 【数据结构】回溯算法公式化解题 leetcode经典题目带刷:全排列、组合、子集
  • WPF基础入门-Class3-WPF数据模板
  • js将搜索的关键字加颜色
  • Docker安装Oracle数据库打开、链接速度很慢
  • 学生分班查询系统的创建与使用指南
  • 全套解决方案:基于pytorch、transformers的中文NLP训练框架,支持大模型训练和文本生成,快速上手,海量训练数据!
  • ffmpeg
  • CH03_代码的坏味道(下)
  • journal日志导致服务器磁盘满
  • “Go程序员面试笔试宝典”复习便签
  • 数组的度(指数组里任一元素出现频数的最大值)
  • scala array类型参数
  • 构建 NodeJS 影院预订微服务并使用 docker 部署(03/4)
  • html写一个向flask_socketio发送消息和接收消息并显示在页面上
  • C#使用.Net Core进行跨平台开发
  • Java“牵手”天猫店铺所有商品API接口数据,通过店铺ID获取整店商品详情数据,天猫API申请指南
  • php输入post过滤函数,入库出库,显示
  • matlab-对数据集加噪声并实现tsne可视化
  • 【BASH】回顾与知识点梳理(三十八)
  • Sql注入攻击的三种方式
  • dockerfile部署前端vue打包的dist文件实战
  • [技术杂谈]MobaXterm中文乱码编码问题一种解决方法
  • mac os M1 安装并启动 postgreSQL 的问题
  • 如何使用Wireshark进行网络流量分析?
  • 抖音web主页视频爬虫
  • 常用的jar包【maven坐标格式】
  • 【分布式】VMware FT概要
  • 江西南昌电气机械三维测量仪机械零件3d扫描-CASAIM中科广电
  • MySQL三大日志(binlog、redo log和undo log)详解
  • 七大排序算法详解