学会这些Jmeter插件,才能设计出复杂性能测试场景

news2024/11/15 15:55:29

为什么要使用jmeter线程组插件呢?

jmeter自带的线程组插件模拟的压测场景非常有限,当需要模拟复杂压测场景的时候,推荐大家使用jmeter线程组插件。

如何下载jmeter线程组插件呢?

早期版本的jmeter可以针对我们需要的扩展功能,直接提供下载地址进行下载,但最近的jmeter版本已经不支持直接下载插件包了,取而代之,需要下载一个帮助我们下载插件的下载插件管理工具。

https://jmeter-plugins.org/downloads/all/

在这里插入图片描述

点击“plugins-manager.jar”链接,等待插件管理jar包下载完毕后,拷贝到jmeter目录下的\lib\ext下

在jmeter窗口中,依次单击菜单项Option选项 -》Plugins Manager,在弹出的插件下载窗口JMeter Plugins Manager中,

选中选项卡“Installed Plugins”,

在搜索框中输入“Custom Thread Groups”

勾选“Custom Thread Groups”,单击【Apply Changes and Restart JMeter】,等待线程组插件下载完毕并重启jmeter。

在这里插入图片描述

接下来是如何使用线程组插件?

常用的线程组插件为Ultimate Thread Group插件和Custom Thread Groups插件。下面分别介绍这两个线程组插件。

01
Ultimate Thread Group插件

如何打开Ultimate Thread Group插件?

在jmeter窗口中,依次单击菜单项:测试计划 ->右键 ->添加 ->线程组 ->jp@gc - Ultimate Thread Group,这样就打开了Ultimate Thread Group插件。

图片

如下线程组执行计划表中的各个列的含义如下:

Start Threads Count:当前行启动的线程总数

Initial Delay/sec:延时启动当前行的线程,单位:秒

Startup Time/sec:启动当前行所有线程达峰值所需时间,单位:秒

图片

Hold Load For/sec:当前行线程达到峰值后的稳定加载时间,单位:秒Shutdown Time:停止当前行所有线程所需时间,单位:秒

使用Ultimate Thread Group可以实现模拟简单并发场景、2^n步进场景、浪涌场景、锯齿状场景**。下面分别说明如何设置这些场景。

(1)简单并发场景设置

单击【Add Row】,在Start Threads Counts列设置100并发,缓增压Startup Time列值为30sec完成, 持续运行Hold Load For列值为60秒,缓减压Shutdown列值为10sec完成。

(2)浪涌场景设置**

浪涌场景设置特点:

第1次加载100并发,加载30sec,减压10sec,持续60sec;

第2次加载200并发,延迟100sec(=30sec+10sec+60sec),加载30sec,减压10sec,持续60sec;

第3次加载100并发,延迟200sec(=100sec+100sec),加载30sec,减压10sec,持续60sec;

第4次加载200并发,延迟300sec(=200sec+100sec),加载30sec,减压10sec,持续60sec
在这里插入图片描述在这里插入图片描述

模拟一段时间内压力高持续一段时间后,压力更高持续一段时间后, 压力稍微降下来这种向海浪一样的业务系统压力。

02
Custom Thread Groups插件

如何打开Custom Thread Groups插件?

在jmeter窗口中,依次单击菜单项:测试计划 -》添加 -》 线程组(用户)-》jp@gc - Stepping Thread Group,这样就打开了Custom Thread Groups插件。

图片

如下线程组执行计划参数,各参数的含义分别为:

this group will start * threads**:

加载多少线程,100

First,wait for * seconds:

等待多长时间开始加载线程(第一个线程延迟多少秒开始加载),0

Then start * threads**:

初次加载多少个线程,0

Next,add * threads every * seconds :

下次加载几个线程,10,当前运行多长时间后再次加载线程

using ramp-up:

加载线程时间,5秒,也就是说10个线程在5秒内加载完毕

线程全部加载完成后运行多长时间,60秒

Finally,stop * threads every … seconds**:

多长时间停止多少个线程,每1秒停止5个线程

图片

Custom Thread Groups插件常用于模拟负载测试场景。

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

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

相关文章

软考案例分析题精选

试题一:阅读下列说明,回答问题1至问题4,将解答填入答题纸的对应栏内。某公司中标了一个软件开发项目,项目经理根据以往的经验估算了开发过程中各项任务需要的工期及预算成本,如下表所示:任务紧前任务工期PV…

大规模 IoT 边缘容器集群管理的几种架构-1-Rancher+K3s

前文回顾 大规模 IoT 边缘容器集群管理的几种架构-0-边缘容器及架构简介 📚️Reference: IoT 边缘计算系列文章 Rancher K3s 简介 Rancher: Kubernetes 统一管理平台, Rancher 是为采用容器的团队提供的一个完整的软件栈。它解决了管理多个…

PCI设备驱动初探(仅仅是内核部分,不是具体设备驱动)

在操作系统中,声卡、网卡之类的设备驱动并不像硬盘、鼠标、键盘等等驱动直接编写就行了。它们是建立在内核PCI驱动基础上的,也就是说这类设备通过PCI总线与系统通信。所以要编写这类的驱动首先要构造一个PCI设备的内核驱动,这样我们才能继续正…

Hive学习——DDLDML语句

目录 一、Hive数据类型 (一)Hive基本数据类型 (二)Hive的基本数据类型转换 (三)Hive集合数据类型 (四)文本文件数据编码 (五)读时模式 (六)Hive数据结构 二、DDL&DML命令 (一)数据库操作 1.创建数据库 2.查看数据库 3.修改数据库 4.删除数据库 5.切换(使用)指…

【LeetCode】No.225. 用队列实现栈 -- Java Version

题目链接:https://leetcode.cn/problems/implement-stack-using-queues/ 1. 题目介绍(225. 用队列实现栈) 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、t…

回文子串的数量[寻找回文子串的完整思路过程]

寻找回文子串的完整思路过程前言一、回文串的数量二、动态规划1、完整思考过程2、go总结参考文献前言 回文字符串,就是从左遍历和从右遍历的字符是相同顺序的,转换一下,就是该字符串是对称的。寻找回文子串面临两个直接的问题,1-…

pytorch深度学习案例(二)——航拍街道语义分割

数据集 使用的数据集是kaggle的Semantic segmentation of aerial imagery 其数据的组织形式为 项目结构 utils dataConvert.py dataConvert中主要包含数据的变换过程 函数作用loadColorMap用于加载标签的颜色映射voc_colormap2label获取颜色标签到数值标签的映射关系voc_…

黑马Spring学习笔记(二)——注解开发

目录 一、纯注解开发 1.1 实现步骤 1.2 小结 二、注解开发依赖注入 2.1 自动装配 2.1.1 Autowired——按照类型注入 2.1.2 Qualifier——按照名称注入 2.1.3 Value——简单类型注入 2.2 注解读取properties配置文件——PropertySource 三、注解开发管理第三方B…

【基础算法】差分

🌹作者:云小逸 📝个人主页:云小逸的主页 📝Github:云小逸的Github 🤟motto:要敢于一个人默默的面对自己,强大自己才是核心。不要等到什么都没有了,才下定决心去做。种一颗树,最好的时间是十年前…

Kotlin 33. CompileSdkVersion 和 targetSdkVersion 有什么区别?

CompileSdkVersion 和 targetSdkVersion 有什么区别? 在 build.gradle (Module) 文件中,我们通常会看到 CompileSdkVersion 和 targetSdkVersion 的使用,比如下面是一个完整的 build.gradle (Module) 文件: plugins {id com.and…

JavaScript随手笔记---比较两个数组差异

💌 所属专栏:【JavaScript随手笔记】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#…

0基础学习diffusion_model扩散模型【易理解的公式推导】

0基础学习diffusion_model扩散模型【易理解的公式推导】一、概述二、扩散过程(已知X0求Xt)三、逆扩散过程(已知Xt求Xt-1)1。算法流程图四、结论五、损失函数六、心得体会(优缺点分析)一、概述 DDPM论文链接: Jonathan Ho_Denoising Diffusion…

Android入门第64天-MVVM下瀑布流界面的完美实现-使用RecyclerView

前言 网上充满着不完善的基于RecyclerView的瀑布流实现,要么根本是错的、要么就是只知其一不知其二、要么就是一充诉了一堆无用代码、要么用的是古老的MVC设计模式。 一个真正的、用户体验类似于淘宝、抖音的瀑布流怎么实现目前基本为无解。因为本人正好自己空闲时也…

32岁,薪水被应届生倒挂,裸辞了

今年 32 岁,我从公司离职了,是裸辞。 前段时间,我有一件事情一直憋在心里很难受,想了很久也没找到合适的人倾诉,就借着今天写出来。 我一个十几年开发经验,八年 软件测试 经验的职场老人,我慢…

markdown常用语法--花括号(超详细)

💌 所属专栏:【Markdown常用语法】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1…

2023年,自动化测试岗位有这么吃香吗

测试人员需要具备自动化测试或者测试开发能力,已经成为测试行业内容的一种显在趋势,而且这种趋势呈放大态势,其发展前景是十分明朗的。 2022疫情期间,就业大环境不是很理想,目前呢,企业倾向于招自动化测试…

易基因项目文章| 组蛋白ChIP-seq揭示烟粉虱含菌细胞共生菌调控宿主生殖的新机制

喜报:易基因组蛋白ChIP-seq研究成果见刊《Cell Reports》2023年02月10日,沈阳农业大学植物保护学院博士研究生姚亚林为第一作者、栾军波教授为论文通讯作者在《Cell Reports》杂志以“A bacteriocyte symbiont determines whitefly sex ratio by regulat…

④ 链表

24. 两两交换链表中的节点 题目链接:https://leetcode.cn/problems/swap-nodes-in-pairs/ 注意点: 遍历链表的时候什么时候截止(避免空指针异常或无限死循环的问题)? 节点数量为偶数或链表为空时,cur.ne…

关于欧拉角你需要知道几个点

基础理解,参照:https://www.cnblogs.com/Estranged-Tech/p/16903025.html 欧拉角、万向节死锁(锁死)理解 一、欧拉角理解 举例讲解 欧拉角用三次独立的绕确定的轴旋转角度来表示姿态。如下图所示 经过三次旋转,旋…