【性能测试】Jmeter性能压测-阶梯式/波浪式场景总结(详细)

news2024/9/23 5:20:24

目录:导读

    • 前言
    • 一、Python编程入门到精通
    • 二、接口自动化项目实战
    • 三、Web自动化项目实战
    • 四、App自动化项目实战
    • 五、一线大厂简历
    • 六、测试开发DevOps体系
    • 七、常用自动化测试工具
    • 八、JMeter性能测试
    • 九、总结(尾部小惊喜)


前言

1、阶梯式场景(负载测试)

该场景主要应用在负载测试里面,通过设定一定的并发线程数,给定加压规则,遵循“缓起步,快结束”的原则,不断地增加并发用户来找到系统的性能瓶颈,进而有针对性的进行各方面的系统优化。

使用到的线程为:jp@gc - Stepping Thread Group (deprecated)

在测试计划上:右键—>添加—>线程(用户)—>jp@gc - Stepping Thread Group (deprecated)

A1

同时添加以下监视器:
HPS:每秒请求数 — jp@gc - Hits per Second
TPS:每秒事务数 — jp@gc - Transactions per Second
TRT:事务响应时间 — jp@gc - Response Times Over Time
活跃线程数— jp@gc - Active Threads Over Time
复合图查看器— jp@gc - Composite Graph

A2

针对阶梯式场景的参数配置,说明如下:

This group will start:给定的当前负载的并发用户数
First, wait for:等待XX秒后开始启动
Then start:0秒(初始化)启动XX并发用户数 — 在第几个虚拟用户启动
Next, add:每using ramp-up时间内启动XX的用户数
threads every:每次加压阶梯下用户完成启动后保持运行XX秒
using ramp-up:XX秒内完成Next, add的用户数的启动

Then hold load for:This group will start并发用户数全部启动完成后保持运行XX秒 == 所有线程运行完成后再执行XX秒

Finally, stop:每隔threads every的时间减少XX用户数
threads every:每隔XX秒减少Finally, stop的用户数

默认设置参数如下:

A3

注:
红框区域是增加线程过程,5秒钟启动10个线程,这10个线程持续运行30秒,再用5秒钟启动10个线程,这20个线程持续运行30秒

绿框区域是线程释放过程,每隔1秒停止5个并发用户数直到100个并发用户数减少为0

A4

2、波浪式场景(压力测试)

该场景主要用在分段时间压测和压力测试里面,分段时间压测比如点餐系统,一天会出现用餐高峰期、平稳期和闲时区,针对该场景我们就要设计成不同时间段的压力值不同,加压方式不同等等。

压力测试我们只需要使用一个场景,并将压测时间设置长即可,同样的测试报告也用jpgc的监视器获得

使用到的线程为:jp@gc - UItimate Thread Group

在测试计划上:右键—>添加—>线程(用户)—>jp@gc - UItimate Thread Group

A5

针对波浪式场景的参数配置,说明如下:

Start Threads Count:给定当前时间段的并发用户数
Initial Delay, sec:初始化时间,单位:秒(s)Startup Time, sec:启动时间,单位:秒(s)
Hold Load For, sec:所有并发用户数启动完成后保持运行的时长,单位:秒(s)
Shutdown Time:结束时间,单位:秒(s)

分段时间压测参数(示例):

从0秒 开始,30秒 启动 50个 虚拟用户,运行 60秒 后,10秒 停止50个虚拟用户 == 第一阶段耗时100秒

从100秒 开始,15秒 启动 200个 虚拟用户,运行 120秒 后,10秒 停止 200个 虚拟用户 == 前两个阶段总耗时 245 秒

从 245秒 开始,30秒 启动 50个 虚拟用户,运行 60秒 后,20秒 停止 100个 虚拟用户 == 前三个阶段总耗时 385秒

A6

压力测试(示例):

从0秒 开始,60秒 启动 300个 虚拟用户,运行 500秒 后,10秒 停止300个虚拟用户

A7

3、服务器监控

服务器监控插件:jp@gc - PerfMon Metrics Collector,需要在服务器安装:ServerAgent

A8

服务器资源监控线形图

A9

A10

用于监控机器的CPU、Memory、Disks I/O、Networks I/O 性能指标值

服务器性能监测控件,包括CPU,Memory,Network,I/O等等(此功能用到在需监听的服务器上启动startAgent)

根据需要选择CPU,Memory,Network I/O等

1)下载并安装ServerAgent

2)通过xftp方式把包上传到服务器上,解压
上传压缩包到服务器建议公司环境安装目录下或opt目录下
解压命令:unzip ServerAgent-2.2.3.zip
进入解压后的文件:cd ServerAgent-2.2.3
查看所有文件:ll
启动文件: ./starAgent.sh

注:启动ServerAgent时,需要ROOT权限

启动ServerAgent时,需要在其对应目录下启动
在监控服务器性能时,需要一直是启动状态

3)更改端口并启动服务

Linux 下启动:./startAgent.sh 回车就可以启动,默认的端口是4444

若默认端口4444被占用,则需要指派端口 (阿里云服务器4444端口是连接访问不到的)

端口可以自定义,大于1024即可

启动>>

./startAgent.sh --udp-port 0 --tcp-port 4445

4)启动服务后去检查防火墙是否关闭

服务器\防火墙是关闭状态那就没有问题
启动防火墙:systemctl start firewalld
关闭防火墙:systemctl stop firewalld
检查防火墙状态:systemctl status firewalld

如果没有关闭防火墙,那么就需要关闭或执行下面的命令把端口添加到防火墙内

防火墙添加开放端口:

firewall-cmd --permanent -add-port=4445/tcp
下面是我整理的2023年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

每一份努力,都是为了让自己变得更加出色;每一次坚持,都是为了让生活变得更加精彩。坚定信念,勇敢前行,终将收获辉煌的人生。

勇敢地面对挑战,努力奋斗,只有不断超越自我,才能书写出精彩的人生篇章。坚持不懈,终将收获辉煌。

困难并不可怕,重要的是我们要敢于面对,勇敢努力,坚定信念,永不放弃,相信每一次努力都将迎来更加辉煌的明天。

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

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

相关文章

Spring中Bean的作用域、实例化方式、生命周期、循环依赖问题

Spring中Bean的作用域、实例化方式、生命周期、循环依赖问题 一、Bean的作用域1.singleton2.prototype3.其他scope值 二、Bean的实例化方式1.通过构造方法实例化2.通过简单工厂模式实例化3.通过factory-bean实例化4.通过FactoryBean接口实例化5.BeanFactory和FactoryBean的区别…

车载主机中控屏_车载平板电脑|车载后装定制方案

现代汽车已经成为人们生活中不可或缺的交通工具,车载中控屏作为汽车信息娱乐和导航系统的重要组成部分,更是受到了越来越多车主的重视。而一款优秀的车载主机中控屏,不仅需要具备强大的性能和功能,还需要具备高性价比和更低的耗电…

深入探索Java线程管理:Thread类的全面指南

🌟 欢迎来到我的博客! 🌈 💡 探索未知,分享知识 💫 **🌟 欢迎来到我的博客! 🌈****💡 探索未知,分享知识 💫**深入探索Java线程管理&…

前端监控为什么采用GIF图片做埋点?

一、什么是埋点监控 前端监控是开发人员用来跟踪和维护应用程序表现层的运行状况的过程和工具。它主要包括三种类型:数据监控、性能监控和异常监控。 1、数据监控 主要是为了收集跟用户相关的数据,例如用户设备类型、浏览器版本、页面浏览量(…

【JavaScript】面试手撕浅拷贝

【JavaScript】面试手撕浅拷贝 引入 浅拷贝和深拷贝应该是面试时非常常见的问题了,为了能将这两者说清楚,于是打算用两篇文章分别解释下深浅拷贝。 PS: 我第一次听到拷贝这个词,有种莫名的熟悉感,感觉跟某个英文很相似&#xff…

2024全国护网行动HW行动招聘/收人!!!

2024全国护网行动HW行动招聘 溯蓉信创开始收人啦!!!现在开始收录2024HW简历,感兴趣的小伙伴扫码二维码添加微信 我们签约后,入场即预付款3k,签约后我们会在HW之前对我们的人员进行HW培训,保证上…

光辐射测量(1)基本介绍+辐射度量、光辐射度量基础

基本情况:本门课就是对“三度学”进行学习。“三度学”包括辐射度学、光度学、色度学。主要掌握其基本概念、原理、物理量的互相转换关系、计算分析方法、测量仪器与测试计量方法等。 三者所覆盖的范围如图。 辐射度学: 辐射度学是一门研究电磁辐射能测…

TikTok矩阵获客软件开发需要了解的代码!

在数字营销领域,TikTok已经成为一个不可忽视的平台,由于其庞大的用户群体和高度互动性,越来越多的企业开始寻求在TikTok上进行有效的获客策略。 为了实现这一目标,开发一款针对TikTok的矩阵获客软件成为了许多企业的选择&#xf…

力扣刷题:206.反转链表

题目: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出:[2,1]示例 3&am…

day11_oop_fianl_satic_多态

今日内容 零、 复习昨日 一、final 二、static 三、多态 四、向上转型&向下转型 五、多态应用 零、 复习昨日 0 类封装步骤 属性私有private提供setget方法 1 继承关键词,继承的好处 extends减少代码重复为多态做准备 2 子类可以使用父类什么 非私有的属性和方法 3 方法重写…

java数据结构与算法刷题-----LeetCode337. 打家劫舍 III

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 文章目录 1. 动态规划深度优先1.1 解题思路和细节2.2 代码实现 很多人觉得…

vue项目中使用antvX6新手教程,附demo案例讲解(可拖拽流程图、网络拓扑图)

前言: 之前分别做了vue2和vue3项目里的网络拓扑图功能,发现对antv X6的讲解博客比较少,最近终于得闲码一篇了! 需求: 用户可以自己拖拽节点,节点之间可以随意连线,保存拓扑图数据后传给后端&…

恒峰|智能高压森林应急消防泵|森林防火的守护神

在大自然中,森林是生态系统的重要组成部分,它们为我们提供氧气、净化空气、保持水源、防止土壤侵蚀等重要功能。然而,森林火灾却时常威胁着这些宝贵资源的安全。为了应对这一挑战,我们研制出了一种名为“智能高压森林应急消防泵”…

游戏寻路之A*算法(GUI演示)

一、A*算法介绍 A*算法是一种路径搜索算法,用于在图形网络中找到最短路径。它结合了Dijkstra算法和启发式搜索的思想,通过综合利用已知的最短路径和估计的最短路径来优化搜索过程。在游戏自动寻路得到广泛应用。 二、A*算法的基本思想 在图形网络中选择一个起点和终点。维护…

OSPF 普通区域stub实验简述

1、OSPF 普通区域stub配置 实验拓扑图 r1: sys sysname r1 undo info enable int loopb 0 ip add 1.1.1.1 32 quit int e0/0/0 ip add 172.16.1.1 24 quit ospf 1 area 0.0.0.1 network 172.16.1.0 0.0.0.255 network 1.1.1.1 0.0.0.0 Stub 配置普通区域 ret r6: sys sysnam…

不愧是华为出来的,太厉害了...

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 实习去了博彦科技(外包),做的…

认识AJAX

一、什么是Ajax? 有跳转就是同步,无跳转就是异步 Asynchronous Javascript And XML(异步JavaScript和XML) Ajax 异步 JavaScript 和XML。Ajax是一种用于创建快速动态网页的技术通过在后台与服务器进行少量数据交换,Ajax可以使网…

SpringMVC01、回顾MVC

1、回顾MVC 1.1、什么是MVC MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。是将业务逻辑、数据、显示分离的方法来组织代码。MVC主要作用是降低了视图与业务逻辑间的双向偶合。MVC不是一种设计模式,MVC是一种架构模式。…

基本运算符

参考C Primer Plus进行C语言学习 文章目录 基本运算符 除法运算符:/其他运算 1、除法运算符 在C语言中,整数除法结果的小数部分被丢弃,这一过程被称为截断。 2.其他运算符 (1)sizeof运算符和size_t类型 回顾一下&…

代码随想录算法训练营三刷day13 |栈与队列 之 239. 滑动窗口最大值 347.前 K 个高频元素

三刷day13 239. 滑动窗口最大值347.前 K 个高频元素 239. 滑动窗口最大值 题目链接 解题思路: 设计单调队列的时候,pop和push操作要保持如下规则: pop(value):如果窗口移除的元素value等于单调队列的出口元素,那么队…