全栈性能测试教程之性能测试相关知识(二) Jmeter的应用

news2024/9/28 3:23:59

性能测试相关知识(二) Jmeter的应

 1、性能测试的方法

1.1验收负载测试:

在QA的环境模拟生产运行的业务压力和使用场景组合,测试系统的性能是否满足生产环境的性能诉求。

1.2负载测试

在被测系统上持续不断的增加压力,直到性能指标(响应时间等)超过预定指标或者某种资源(CPU&内存)使用已达到饱和状态。核心是找到系统的处理极限,为系统调优提供数据,从而达到了解系统性能的容量。

1.3压力测试

该发放是指系统在一定饱和状态下,具体如CPU,内存等饱和使用的情况下,系统能够处理的会话能力,以及系统是否会出现错误,比如TimeOut

OOM OverstackExpection(堆栈异常).压力测试的特点:

1、检查系统在处于压力情况下时应用的性能表现

2、等价于负载测试,使系统的资源处于一个瓶颈的状态(建议CPU和内存在75%以上)

3、这种方法一般用于测试系统的稳定性

1.4配置测试

被测环境软硬件环境参数的调整,达到最优的分配原则。

1.5并发测试

并发测试指的是模拟用户的并发访问,测试多用户并发访问同一个应用时是否存在死锁或者其他的问题,并发测试的特点是:

1、发现系统中可能隐藏的并发访问的问题

2、关注系统可能存在的并发问题,如内存泄漏,线程锁,资源争用情况

3、使用的测试工具如profiler等

 

1.6可靠性测试

给系统一定的业务压力,让应用持续运行一段时间,测试系统在这种条件下是否能稳定运行。

1.7故障演练

故意的在过程中 让程序出现问题,看程序自己能不能平稳的过渡 考验的是团队的合作能力

1.8灾难恢复测试

灾难恢复测试指的是,故意把数据删除了 看程序怎么进行自我数据恢复

2、JMeter性能测试

2.1JMeter执行原理

JMeter通过线程组来驱动(也可以理解称为LR工具里面的虚拟用户)运行测试脚本对目标服务器发起大量的网络请求

在每个客户端上可以运行多个线程组,也就是说一个测试计划里面可以包含N个线程组。

 2.2线程属性

2.2.1线程数

线程数指的是模拟的用户数 可以用于并发场景来运用,线程数越多,则模拟用户数就越多

 2.2.2Ramp-Up

每秒执行多少个用户  计算方式为 线程数/Ramp-Up=每秒执行的线程数

如下图所示 即为每秒执行5个线程组

 2.3持续时间

持续时间指的是测试计划持续多长时间

2.4启动延迟

从当前时间延迟多久时间开始运行测试,也就是说点击执行后,仅仅是做初始化的场景,不会执行测试,等待延迟到达后开始运行测试,执行的时间为持续时间设置的时间。

 举例说明 每秒能处理5个线程 启动延迟设置为5秒 则 启动延迟结束后 瞬间发送延迟5*5=25个线程 后续每1秒执行5线程

2.5聚合报告

右键测试计划选择添加监听器当中的 聚合报告

需要注意的是聚合报告和线程组是平级 且需要放在线程组的上面

 

 其中所有参数的含义如下表所示

Label:取样器名称
Samples:取样器运⾏次数
Average:单个请求的平均响应时间
Median:50%请求的响应时间
90%Line:90%请求响应时间
95%Line:95%请求响应时间
99%Line:99%请求的响应时间
Min:请求的最⼩响应时间
Max:请求的最⼤响应时间
Std.Dev:响应时间的标准⽅差
Error%:事务错误率
Throughput:吞吐率,也就是TPS
KB/sec:每秒数据包流量
Avg.Bytes:平均数据流量
Received KB/sec:每秒从服务器端接收到的数据量

SentKB/sec:每秒从客户端发送的请求的数量


2.6响应时间图

右键线程组 选择添加监听器里的响应时间图

 在运行测试后 在查看响应时间图

 

  •  重点:600G的学习资料,懂的都懂

  • 资料领取+v:mashang-qq备注000

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

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

相关文章

易点易动RFID固定资产管理系统助力企业年终固定资产大盘点

固定资产作为资产构成的重要组成部分,也是企业完成生产经营的物质保障,对企业的发展起着重要的作用。越来越多的企业者开始重视企业内部的固定资产管理,从而会定期对固定资产进行盘点,以保证固定资产账实一致、账账相符。每逢年底…

粒子群算法和鲸鱼算法的比较(Matlab代码实现)

目录 1 粒子群优化算法 2 鲸鱼优化算法 3 粒子群算法和鲸鱼算法比较 4 Matlab代码实现 1 粒子群优化算法 粒子群优化算法(PSO:Particle swarm optimization) 是一种进化计算技术(evolutionary computation)。源于对鸟群捕食的行为研究…

GitHub限时开源36小时的阿里Java架构师学习手册,上线即标星35k+

前言 今年受大环境影响面试于往年相比难得多,对程序员要求越来越高!环境我们无法改变能改变的就是自己,努力提升技术! 我在GitHub无意见看见115k的Java教程,感觉还不错,给大家看看!文档总共分为…

Cloud Mail JavaScript管理邮件

Cloud Mail JavaScript管理邮件 使用流行的云服务发送、接收和管理邮件。 云邮件使用流行的云服务简化了邮件的发送、接收和管理,包括Amazon SES、Microsoft 365(Outlook Mail)和Gmail。还支持包括OAuth、TLS 1.3和TLS 1.2在内的现代身份验证和安全选项。 云邮件功…

前后端验证码交互完整流程

本文章基于vueelement-uispringbootredis讲解,其他的都是工具,可以直接拿来用,不懂redis没关系(因为本文只用了简单的存取),但前面三个要懂 如果你只想看前端或者后端的代码逻辑,本文章同样适用…

提升代码可读性,减少if-else的几个小技巧

前言💁‍♂️ 相信大家或多或少都接触过拥有庞大 if else 的项目代码吧,多重嵌套的 if else 在维护的时候真的让人很恼火😡,有时候一个 bug 排查下来,严重感觉身体被掏空😿。 本文并未有消灭或歧视 if el…

2022年测试行业的新变化

清晨的第一缕阳光,打开手机,熟悉的数字映入眼帘,洗漱完毕,戴好口罩,新的一天开始了 看似平静的表面,却到处暗潮汹涌 偶然间在朋友圈看到一则招聘广告,Base上海,两年以上经验&#…

python接口自动化测试框架

本文总结分享介绍接口测试框架开发,环境使用python3selenium3unittestddtrequests测试框架及ddt数据驱动,采用Excel管理测试用例等集成测试数据功能,以及使用HTMLTestRunner来生成测试报告,目前有开源的poman、Jmeter等接口测试工…

文件的上传和下载

一、node实现文件上传 1、FormData对象:以对象的方式来表示页面中的表单,又称为表单对象。以key-value的方式来保存数据,XMLHttpRequest对 象可以轻松的表单对象发送的服务器端 ​ (1)是一个构造函数:ne…

力扣hot100——第4天:19删除链表的倒数第N个节点、20有效的括号、21合并两个有序链表

文章目录1.19删除链表的倒数第N个节点【代码随想录已刷】2.20有效的括号【代码随想录已刷】3.21合并两个有序链表3.1.题目3.2.题解1.19删除链表的倒数第N个节点【代码随想录已刷】 参考:力扣题目链接;自己的博客解答 2.20有效的括号【代码随想录已刷】…

whistle监听方法

视频教程 程序员抓包神器,快速定位线上bug_哔哩哔哩_bilibili whistle官网 关于whistle GitBook 安装whistle后, 复制启动网址 系统代理也设置完毕后,在浏览器打开http://192.168.4.238:8899,即可进行抓包 拦截js,并执行自定…

10年的老测试告诉你八大测试用例设计方法

一:等价类划分法 1:有效等价类: 2:无效等价类: 案例:比如一个登陆输入框,规定只能输入中文,同时长度为6-10。 通过等价类设计测试用例: 测试用例中重要的三步: 输入 操作 预计结果 如果与预期结果不符合就是bug。 有效等价类: 输入:输入长度为6的中文,输入的为…

微信小程序接口请求多文件+参数上传、单文件+参数上传(formData形式) 微信小程序实现formData格式传参(亲测有效)

01.引入所需formData js文件 1.文件链接 链接: https://pan.baidu.com/s/1BDxx0-1KMAnkceXb45L5rg 提取码: 6ibp 2.引入使用 const FormData require(../../../../utils/formData.js)formData.js与mimeMap.js请确保在同一层级 02.formData参数 1.参数设置 let data {a…

Vue3 Composition API(案例)

前言:如果你是从vue2转到vue3的一份子,那么你重点学一下核心内容Composition API 。vue3的更新使代码写起来更加清晰,而且更接近于原生开发,对TS支持友好,现在我们来学习一下API。 如果你也想学一下TS那么请看这里 带你学习语法T…

力扣(LeetCode)1769. 移动所有球到每个盒子所需的最小操作数(C++)

暴力循环 直观模拟,对于某个固定的盒子,可以遍历所有盒子,∑\sum∑ 遍历的盒子里的球数 \times 遍历的盒子到固定的盒子的距离,得移动所有球到固定盒子的最小操作数。依次固定所有盒子,遍历,得到答案。 c…

嵌入式Linux 开发经验:platform_driver_register 的使用方法

前言 嵌入式Linux 设备驱动开发时,经常遇到平台驱动 platform_driver_register 的注册,最近深入了看了驱动开发为何使用平台驱动 开发一个设备驱动时,为了实现 设备的 打开、关闭、控制等操作,可以注册为 Linux misc 设备&#x…

Ra-08透传固件应用

目录1、功能介绍2、硬件接线3、固件烧录4、应用说明指令说明应用示例5、联系我们1、功能介绍 Ra-08透传固件主要功能有,设置发送或者接收模式,配置各个射频参数,设置本地地址与发送的目标地址,设置进入睡眠模式等。 2、硬件接线…

vite+ts-5-Sequelize框架优化

random recording 随心记录 What seems to us as bitter trials are often blessings in disguise. 看起来对我们痛苦的试炼,常常是伪装起来的好运。 此系列是一个前后端整合项目,跟往期关联,链接传送到达: 1.vitets-1-前期准备(尽…

FreeRtos于嵌入式环境的应用

FreeRtos操作系统 首先,应该介绍什么是FreeRtos,他于单片机而言就是一个管理器,作为管理者管理嵌入式芯片中的任务,堆栈,中断,队列等等资源,对于操作系统而言,又分为实时操作系统和…

分布式事物-全面详解(学习总结---从入门到深化)

分布式事物处理_认识本地事物 什么是事物 事务就是针对数据库的一组操作,它可以由一条或多条SQL语句组 成,同一个事务的操作具备同步的特点,事务中的语句要么都执 行,要么都不执行。 举个栗子: 你去小卖铺买东西&#…