面试必杀技:Jmeter性能测试攻略大全(第一弹)

news2024/12/24 2:21:04

前言

性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。

第一章  测试流程:

需求分析→环境搭建→测试计划→脚本开发→执行与监控→缺陷管理→结果与报告

压力测试

1、线程组设置,这里的线程数与同步定时器的用户数量一样

2、添加HTTP cookie管理器

3、默认请求值

4、添加一个事务控制器,可以当作一个业务

5、在事务控制器下添加,同步定时器

设置用户数量,这里与线程组的线程数一样,超时时间可设置

6、添加脚本(http请求)

7、添加查看结果树

8、添加->监听器

9、在最后添加一个聚合报告,添加处:添加->监听器

第二章   负载测试实战

1、线程组的设置50个用户(持续时间:按秒计算,这里300=60*5,意思就是运行时长为5分钟)

2、添加HTTP cookie管理器

3、默认请求值

4、添加一个事务控制器,可以当作一个业务

5、在事务控制器下添加,高斯随机定时器

总的延时 = 固定延迟时间 + 高斯随机生成的偏差值(说明:单位都是毫秒,固定延迟300ms,偏差100ms,意思是时间延迟300-400ms之间)

6、添加脚本(http请求)

7、添加->监听器

8、在最后添加一个聚合报告,添加处:添加->监听器

第三章 什么是性能测试?

  • 性能是用来描述产品除功能外的所具有的速度,效率和能力的综合能力评价
  • 对产品或是物品的性能惊喜定性或是定量的量测过程
  • 在这个过程中我们使用一些工具来进行场景的模拟,从而进行性能测试

第四章  性能测试案例

测试需求:测试20个用户访问网站在负载达到30QPS时的平均响应时间

QPS:Query Per Second 每秒查询率。(一台查询服务器每秒能够处理的查询次数,作为域名服务器的性能经常用每秒查询率来衡量)

测试步骤

1、添加线程组(线程数+准备时长+循环次数)

1.1、线程数:虚拟用户数,一个虚拟用户占用一个进程或线程(设置多少个虚拟用户=设置多少个线程)

1.2、准备时长(s):设置的虚拟用户数需要多长时间全部启动。eg:线程数为20,准备时长为10,则说明需要10秒钟启动20个进程。

1.3、循环次数:每个线程发送请求的次数。eg:线程数为20,循环次数为5,那么每个线程发送5次请求,总请求数为20*5=100

2、添加HTTP请求

3、设置QPS限制:控制给定的取样器发送请求的吞吐量

4、添加监视器-聚合报告、察看结果树

5、运行脚本

6、聚合报告解析(响应时间单位:毫秒)

1)Label:每个Jmeter的element都有一个Name属性,这里显示的就是Name属性的值

2)#Sample:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100

3)Average:平均响应时间-默认情况下是单个Request的平均响应时间当使用了Transaction Controller 时,也可以以Transaction为单位显示平均响应时间

4)Median:中位数,50%用户的响应时间

5)90%Line:90%用户响应时间

6)Min:最小响应时间

7)Max:最大响应时间

8)Error%:本次测试中出现错误的请求的数量/请求的总数

9)Throughput:吞吐量-默认情况下白石每秒的请求数

10)KB/sec:每秒从服务器端接收到的数据量

第五章  性能测试的分类

性能测试的分类

压力测试、负载测试、并发测试、稳定性测试

什么是压力测试?

压力测试也叫强度测试,它是指逐步给系统增加压力,测试系统的性能变化,使系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的最大压力

举个例子:百米赛跑,逐步增加你的负重,直到你完不成百米的程度,也就是崩溃的边缘你所能承受的最大负重

什么是负载测试?

被测试系统正常服务的前提下,系统所能承担的最大服务负荷数量(即最大并发数量),最终分析出系统性能的瓶颈

举个例子:百米赛跑,设置必须15秒完成,负重奔跑(不断增加负重)

压力测试和负载测试的区别

压力测试要测试出系统即将崩溃时,能够承受的最大并发数

负载测试是满足系统指标要求的情况下,能够承受的最大并发数

什么是并发测试

举个例子:商场卖货,售后员根据库存表单记录表卖货

仓库管理员应该在出货时同时更新库存表单记录表,但由于用户过多,表单记录更新不及时

导致仓库已经没有货了,但是售货员看到库存表单记录表中还显示有库存,仍然在卖货,但已经发不出去货了

第六章  性能测试流程

1.分析性能需求。挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标,比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下

2.制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具

3.编写测试用例

4.搭建测试环境,准备好测试数据

5.编写性能测试脚本

6.性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本

7.设计测试场景,运行测试脚本,监控服务器,

8.分析测试结果,收集相关的日志提单给开发

9.回归性能测试

10.编写测试报告

未完待续,你的点赞是我更新的最大动力!

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

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

相关文章

上位机通过Modbus转Profinet网关与变频器Modbus通讯案例

上位机与变频器Modbus通讯是通过Modbus转Profinet网关来实现的。这个网关可以理解为一个通信翻译器,负责将上位机通过Modbus协议发送的数据转换为Profinet协议,再通过Profinet网络与变频器进行通信。 上位机通过Modbus转Profinet网关与变频器Modbus通讯…

操作系统存储管理

目录 存储管理(1) 第一节 存储管理概述(内存管理) 一、存储体系 二、存储管理的任务 三、地址转换 存储管理(2) 第二节 分区管理方案 一、固定分区 二、可变分区 三、分区管理方案的优缺点 第…

基于Web的足球青训俱乐部管理后台系统的设计与开发

目录 前言 一、技术栈 二、系统功能介绍 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着社会经济的快速发展,人们对足球俱乐部的需求日益增加,加快了足球健身俱乐部的发展,足球俱乐部管理工作日益繁忙,传统…

安果清理大师-不用的时候我真的不给你推荐这种软件

下载地址:安果移动 视频演示:安果清理大师-不用的时候我真的不给你推荐这种软件_哔哩哔哩_bilibili 全能手机助手:四大功能,全面呵护您的手机!☆ 在如今的数字时代,手机已经成为我们生活中不可或缺 的伴侣…

1795_ChibiOS网络书籍阅读_实时系统的一些概念

全部学习汇总: GreyZhang/g_ChibiOS: I found a new RTOS called ChibiOS and it seems interesting! (github.com) 不同的OS在介绍自己的机理的时候都有自己的模型或者抽象概念,ChibiOS也不例外。这里的几个概念需要做一个基本的理解: 1. 进…

如何使用Selenium进行自动化测试

前言 对于很多刚入门的测试新手来说,大家都将自动化测试作为自己职业发展的一个主要阶段。可是,在成为一名合格的自动化测试工程师之前,我们不仅要掌握相应的理论知识,还要进行大量的实践,积累足够的经验,…

RGB格式

Qt视频播放器实现(目录) RGB的使用场景 目前,数字信号源(直播现场的数字相机采集的原始画面)和显示设备(手机屏幕、笔记本屏幕、个人电脑显示器屏幕)使用的基本上都是RGB格式。 三原色 RGB是…

【51单片机】6-静态和动态控制数码管

1.什么是数码管 1.几方面看数码管 1. 外观 2.作用 数码管是显示器件,用来显示数字的 3.分类 单个(1位),连排(2位,4位,8位) 2.工作原理 1.亮灭原理 其实是内部的照明LED 2.显示数字 原理&…

速码!!BGP最全学习笔记:BGP概述

一、BGP概述 BGP是一种实现自治系统AS之间的路由可达,并选择最佳路由的矢量性协议。早期发布的三个版本分别是BGP-1(RFC1105)、BGP-2(RFC1163)和BGP-3(RFC1267),1994年开始使用BGP-4…

【一人之下】杀了七个男童,只为修炼邪术!肖哥这一战可以封神!

Hello,小伙伴们,我是小郑继续为大家深度解析一人之下国漫。 在一人之下中,老肖是临时工里战力数一数二的存在,也是十佬之一解空大师的弟弟,平常看起来像一个热心肠的大哥,但却嗜好杀人,常挂在嘴边的一句话就…

基于微信小程序食谱大全系统设计与实现(源码+lw+部署文档+讲解等)

文章目录 前言用户微信小程序端的主要功能有:管理员的主要功能有:具体实现截图详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考论文参考源码获取 前言 💗博主介绍:✌…

解决typescript报错=》不能将类型“undefined”分配给类型“boolean”

报错如下: 然后看看isSearch的类型定义: isSearch的定义是可选属性,但是TypeScript 中将一个参数标记为可选时,它的默认值将是 undefined。可选参数表示你可以选择性地提供该参数,如果不提供,那么它将默认为…

python随手小练1

题目: 使用python做一个简单的英雄联盟商城登录界面 具体操作: print("英雄联盟商城登录界面") print("~ * "*15 "~") #找其规律 a "1、用户登录" b "2、新用户注册" c "3、退出系统&quo…

实验室仪器应该如何清洗?

梵英超声(fanyingsonic)实验室超声波清洗机 实验室中常见的玻璃器皿如量杯、试管、滴定管、移液管、量瓶等等,是化学实验操作的核心组成部分。但这些玻璃器皿在使用过程中很容易沾上各种污渍,如油渍、血渍、水垢、锈渍等等,如果用完之后没有及…

xx-job凌晨一点清除oss指定文件夹以及指定保留时间的文件

ps:文件下面还有文件夹,这代码不能完全保证是否遍历到所有该文件夹以及子文件夹的文件,因为不可能一点点上到服务器去数,只是代码上做到应该不会出现重复的文件夹以及出现死循环 public static void main(String[] args) {long st…

在Idea中调试本地Docker

报错: Error running myApp: Unable to open debugger port (localhost:5005): java.net.SocketException "Connection reset" 原因: Docker配置里边没有配置环境变量JAVA_TOOL_OPTIONS. 解决: 在Docker下加入运行时的环境变量JAVA…

解决0-1背包问题(方案一):二维dp数组

>>确定dp数组以及下标的含义 dp[i][j]表示从下标为[0-i]的物品里任意取,放进容量为j的背包,价值总和最大是多少 (1)不放物品i 例如:当背包的容量是1kg,此时物品1和物品2都是无法放进去的。而物品0…

【前端】常用属性及实例

1. 盒子水平垂直居中 1&#xff09;flex布局实现水平垂直居中 <style>.box {background: yellow;width: 200px;height: 200px;/* 设置flex布局 */display: flex;/* 水平居中 */justify-content: center;/* 垂直居中 */align-items: center;}.col {margin: 1px;backgroun…

使用 queueMicrotask 创建微任务!

之前我们想尽一切办法来创建一个自定义的微任务&#xff0c;如 Promise.then、MutationObserver&#xff08;浏览器环境中的 API&#xff0c;用于监视 DOM 变动&#xff09;、async/await、process.nextTick&#xff08;仅Node.js支持&#xff0c;本质来说它不是事件循环的一部…

8+单基因+细胞凋亡+WGCNA+单细胞+实验验证

今天给同学们分享一篇单基因细胞凋亡WGCNA实验验证的生信文章“RASGRP2 is a potential immune-related biomarker and regulates mitochondrial-dependent apoptosis in lung adenocarcinoma”&#xff0c;这篇文章于2023年2月3日发表在Front Immunol期刊上&#xff0c;影响因…