性能测试4【搬代码】

news2024/12/23 14:51:03

性能测试4与性能测试3最后的
三、性能瓶颈分析和性能调优
(1)基准测试
(2)负载测试
(3)压力测试
(4)浪涌测试
(5)容量测试
有关,需要结合看

性能瓶颈分析和性能调优

(1)基准测试
一般是单接口(单交易):使用一个用持续压测1min以上。
目的:获取单个接口没有压力的情况下各项性能指标,作为他场景的参考依据。
核心性能指标:并发用户数,响应时间(<1.5s),吞吐量(TPS、QPS、RPS),资源利用率(<80%),事务错误率(<0.1%)

(2)负载测试【一般在10分钟左右】
单交易负载测试:单个接口
多交易负载测试:多个接口、流程接口(流程负载测试、混合负载测试)

为什么做负载:就是为了得到下面两个指标
最佳并发用户数:资源利用率最高
最大并大用户数:并发用户数的上限,一旦超过上限,那么相应时间用户无法容忍5s,TPS直线下降

(3)压力测试【一般一小时为单位,如8、10、12、24h,有最长的压一个星期】
破坏性压力测试:(极限测试):最大并发用户数,可能会伴随客回复性测试(单机、集群)
稳定性压力测试:最佳并发用户数

(4)浪涌测试

(5)容量测试
第一种:TPS容量
如:测试被测系统是否能够每秒处理1000个事务
第二种:并发用户数容量
如:测试被测系统某一个功能是否能够支持1000个并发
第三种:在线用户数
如:测试被测系统能否支持10000个用户使用。(压力不大)
思考时间:吞吐量控制器
上面3中场景我们应该怎么去做,用例怎么去设计?
二、实战
常规的场景线程组就够了
线程组
1

线程数:虚拟用户数:100
Ramp-UP时间:10  10s加载100个用户,平均每秒加载10个
循环次数: 1 永久:一直跑
调度器:
	持续时间:10  如果超过这个时间还在一直跑,那么请使用CLI模式,也就是命令行模式
	【持续时间优先级大于循环次数】

2
3

不要使用GUI模式进行负载测试!,仅用于测试创建和测试调试。
对于负载测试,请使用CLI模式(以前是NON GUI):
jmeter-n-t[jmx文件]-l[结果文件]-e-o[web报表文件夹的路径]
&增加Java堆以满足您的测试要求:
修改jmeter批处理文件中的当前环境变量HEAP=-Xms1g-Xmx1g-XX:MaxMetaspaceSize=256m”
检查https://jmeter.apache.org/usermanual/best-practices.html

命令行:jmeter-n-t[jmx文件]-l[结果文件]-e-o[web报表文件夹的路径]

谁占的资源最多

场景一:
线程数10,Ramp-UP:1,循环次数:2,  每次占用10个资源内存, 1
线程数20,Ramp-UP:1,循环次数:1,  每次占用20个资源内存, 2 占的最多


场景二:
线程数:1,Ramp-UP:1 循环次数:永久。持续时间:10s
问题:请问这里请求了多少次? 这里的请求和设置没有直接关系

以上两个场景对应结论:
1.要吗就是固定循环次数,这个时候你设置持续时间没有意义
2.要吗就是循环次数设置为永久,然后固定持续时间

实战一:(秒杀场景知识没有这么多线程数,只有并发数)

场景9总和业务,从投产到入库50~100个用户并发数5的情况,持续运行1个消失持续运行,观察通过的事务和响应时间

依据上述场景,要求并发数=5,我们看一下下面做法是否正确:
线程数:50~100,Ramp-UP:1,循环次数:永久,持续时间:30s
4
从上图可以看到start Time没有同一时间发送5个请求所以是不对的。
如果想让同时并发,那么就要添加一个同步定时器如图所示:
5
6
7
8
聚合报告:
标准差主要是看:平均值和90%百分位之间的差由上图可以看出标准差还是很大的
吞吐量:就是TPS;算法:总样本数/总时间=吞吐量;52104/30=1,736.8。与吞吐量很相似
接收KB/Sec、发送KB/Sec其实就是吞吐率

如何看响应时间稳不稳定?
看标准差:在汇总报告中的标准误差
9
使用同步定时器其实是不对的,因为实际操作中,我们的线程是实时都会来的。并不是等待5个人齐了才发起的。
实战二:
以TPS(每秒完成的事务数)为10的压力持续压测30s?
10
11

实战三:
测试被测系统是否能够每秒处理1000个事务,TPS=1000

方案一:负载测试
	以1000个线程为基点,以100、200、300、400...1000,1100...个线程往上压,逐步递增,然后看TPS的性能拐点,有没有超过1000

12

	方案二:直接使用到达线程组(面向目标的场景)
	 bzm - Arrivals Thread Group到达线程组:是基于TPS为目标的线程组
		 TPS目标:设100,每秒处理100事务
		加载时间:达到目标想要多长时间:3
		加载次数:递增次数,加载几次:3
		持续运行多久:60

1413
如:测试被测系统某一个功能是否能够支持1000个并发

方案一:1000宪曾+同步定时器 得到核心的五个性能指标((1)基准测试中五个)


方案二:
bzm - Arrivals Thread Group到达线程组:的目标是TPS目标
 bzm - Concurrency Thread Groupbzm-并发线程组:的目标是并发数目标
两种页面及其相似,但是目标不一样。
具体表现在聚合报告中,右上方的启用的线程多少不一样,TPS吞吐量不一样。
方案二使用的是并发线程组:一般使用一下3个监听器
jp@gc - Active Threads Over Time jp@gc-随时间推移的活动线程
jp@gc - Transactions per Second jp@gc-每秒事务数
jp@gc - Response Times Over Time jp@gc-随时间推移的响应时间

16

实战四:递增式场景
场景“比如你的线程数多一次性加载不完,实际中也是慢慢加载的,这种情况下就使用递增式。
一般使用的是递增式
15

实战五:极限场景【浪涌测试】
如:我们去12306抢票,比较集中,特别是节假日,
早上八点上班前有一波,
中午12点下班有一波,
中午吃完饭有一波,
下午下班后有一波
如图:
jp@gc - Ultimate Thread Group jp@gc-终极线程组
17

实战六:混合场景【流程压测】
假设100用户
登录100-加入购物车-支付-评论
18
18
19
20

可以看到样本中数量变化,当然吞吐量控制器使用的是百分比。
下面下单的吞吐量控制器使用 线程数,
线程组中只持续时间改成10,时间少一点
看一个结果
21
22
以上六个场景在什么时候用,都要了如指掌

最常见的问题:
内存泄漏
资源过高
线程死锁
数据库连接池不够
数据库死锁
SQL需要优化
TPS上不去
23
上图这些东西有些事需要在服务安装一些东西,结合性能测试123查看,结合influxdb查看

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

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

相关文章

【日记】软考居然一次过了(620 字)

正文 早上空闲的时候&#xff0c;上 QQ 看了一下&#xff0c;许久不见动静的系统架构设计师群有人说出分了。我想高级都出分了&#xff0c;中级应该也出来了&#xff0c;于是用手机查了一下。看到分数几乎快要泪从中来。为什么软考能一次过&#xff0c;银行从业资格证考了两三…

智慧园区多维可视化管理平台

通过图扑可视化技术&#xff0c;智慧园区实现设施与环境的实时监控和高效管理&#xff0c;提升运营效率与用户体验&#xff0c;推动园区智能化进程。

3D模型优化10个最佳实践

对于许多在建模、渲染和动画方面经验丰富的 3D 建模者来说&#xff0c;3D 优化可能是一个令人畏惧的过程 - 特别是当你正在优化实时应用程序的 3D 模型时&#xff01; 在 Google 上快速搜索“如何优化 3D 文件”将会出现一些建议&#xff0c;例如减少多边形数和消除多余的顶点。…

头歌——机器学习——支持向量机案例

第1关&#xff1a;基于支持向量机模型的应用案例 任务描述 本关任务&#xff1a;编写一个基于支持向量机模型的应用案例。 相关知识 在本应用案例中&#xff0c;我们借助一个具体的实际问题&#xff0c;来完整地实现基于支持向量机模型的开发应用。在此训练中&#xff0c;我…

数据结构与算法笔记:高级篇 - 向量空间:如何实现一个简单的音乐推荐系统?

概述 很多人喜都喜爱听歌&#xff0c;以前我们用 MP3 听歌&#xff0c;现在直接通过音乐 App 在线就能听歌。而且&#xff0c;各种音乐 App 的功能越来越强大&#xff0c;不仅可以自己选歌听&#xff0c;还可以根据你听歌的喜好&#xff0c;给你推荐你可能会喜好的音乐&#x…

Polyplus转染试剂的优点,你知道吗?

Polyplus专注于为生命科学研究、体内转染、生物制品制造以及细胞和基因治疗的客户&#xff0c;提供创新的核酸递送解决方案。其深耕转染领域&#xff0c;产品力强劲。在科研领域&#xff0c;其产品转染效果以及价格都优于lipo系列。无论是在基础科学研究中&#xff0c;还是在临…

数字AI化银行数字化转型实战手册银行数字化转型大客户营销销售讲师培训师唐兴通谈存量客户理财金融科技与场景化

推动银行数字化转型的五个关键因素 推动银行数字化转型的五个关键因素&#xff1a; 客户体验。为客户提供便利和个性化是数字化转型的关键因素。银行应开发和实施创新的数字渠道&#xff0c;例如移动应用程序、网上银行、聊天机器人等&#xff0c;以方便获取金融服务并提高客户…

【哈尔滨等保测评二级多久需要测试一次?】

哈尔滨二级等级保护测评一般为两年一次。 在确定周期时&#xff0c;应综合考虑多种因素。 首先&#xff0c;公司的大小与复杂性是影响公司发展的主要原因。大型企业在进行等保评估时&#xff0c;往往会花费较长的时间&#xff0c;因为他们的信息系统比较庞大、复杂。同时&…

国标GB/T 28181详解:国标GBT28181-2022的目录通知流程

目录 一、定义 二、作用 1、实时同步设备目录状态 2、优化资源管理和调度 3、增强系统的可扩展性和灵活性 4、提高系统的可靠性和稳定性 5、支持多级级联和分布式部署 6、便于用户管理和监控 三、基本要求 1、目录通知满足以下基本要求 2、关键要素 &#xff08;1…

探索AIGC治愈系创作:Stable Diffusion 带你轻松复刻某书爆款动漫卡通文案!

hello&#xff0c;大家好我是安琪&#xff01; 情感治愈类一直是受众群体很高非常火爆的赛道&#xff0c;安琪也关注到在某书平台上&#xff0c;漫画治愈类风格的内容也是非常的受欢迎。先来看看以下一些案例 看看这几个账号内容的质量就可以看出该部分内容是很受欢迎的&#x…

Oracle 19C19.3 rac安装并RU升级到19.14

19C支持RU补丁安装。 下载好19.14的RU补丁 [rootrac1 soft]# ll total 9830404 -rw-r--r-- 1 grid oinstall 3059705302 Jun 18 15:26 LINUX.X64_193000_db_home.zip -rw-r--r-- 1 grid oinstall 2889184573 Jun 18 15:27 LINUX.X64_193000_grid_home.zip -rw-r--r-- 1 grid …

java设计模式(七)适配器模式(Adapter Pattern)

1、模式介绍&#xff1a; 适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;它允许将一个类的接口转换成客户希望的另外一个接口。适配器模式通常用于需要复用现有的类&#xff0c;但是接口与客户端的要求不完全匹配的情况。它包括两种形式&…

通过CDS View读取HANA View

HANA View在HANA 数据库层&#xff0c;CDS View在​ABAP层。那我们可以用CDS view直接读取HANA View​。在CDS View里还可以加些​逻辑。 ​具体怎么做呢&#xff1f; 首先你有了一个HANA的calculation view。这个calculation view&#xff0c; 它是可以被HANA SQL访问的&#…

【新闻】技术工种魅力大增,美国Z世代职场新出路

美国需要更多水管工&#xff0c;Z世代正在响应这一号召。 长期受到劳动力短缺困扰的技工行业&#xff0c;如今对美国最年轻的就业群体产生新的吸引力&#xff0c;他们中许多人正选择放弃读大学。随着从焊接到机械加工等领域出现技术迭代&#xff0c;薪资正在上涨&#xff0c;这…

DV SSL证书如何升级到OV SSL 证书

随着互联网的发展和用户对数据安全性的关注&#xff0c;越来越多的网站开始采用SSL证书来保护用户的隐私和数据。在选择SSL证书时&#xff0c;有些网站可能会首先选择经济实惠的DV&#xff08;域名验证&#xff09;证书&#xff0c;但随着业务的发展和用户需求的增加&#xff0…

人工智能AI风口已开:如何赋予UI设计与视频剪辑新生命

随着科技的浪潮不断向前推进&#xff0c;人工智能&#xff08;AI&#xff09;正以惊人的速度重塑着我们的世界&#xff0c;特别是在创意产业的核心领域——UI设计与视频剪辑中&#xff0c;AI正逐步成为驱动行业创新与变革的关键力量。在这个AI技术全面开花的新时代&#xff0c;…

Python学习01

一、课程简介 1、学习目标 2、学习成果 二、初识python-python介绍 python程序员 python的创始 python语言的优点 三、初始python-软件安装 0、软件安装 1、程序编译 2、python解释器的安装 官网地址&#xff1a;Welcome to Python.orgThe official home of the Python Progr…

数字人源头工厂是骗局吗?数字人源码部署内幕曝光!

随着数字人应用的不断普及&#xff0c;其行业前景和发展潜力也逐渐展现在了在人们的眼前&#xff0c;连带着数字人源头工厂和数字人系统源码部署的热度也也持续飙升。不过&#xff0c;就目前的市场情况来看&#xff0c;绝大多数数字人源头工厂部署出的数字人系统源码都不尽人意…

创意学生木工工具——木工锯床

开展创意木工课程丰富了学校的课程多样性&#xff0c;强化了实践教育&#xff0c;并实现了跨学科的融合&#xff0c;在教育理念方面&#xff0c;创意木工课程强调了学生的主体地位&#xff0c;注重了学生的全面发展&#xff0c;并倡导了实践育人的理念&#xff0c;培养学生的综…

字节码编程ASM之两数之和

写在前面 源码 。 看下如何使用ASM来写如下的类&#xff1a; package com.dahuyou.demo.asm;public class AsmSumOfTwo {public AsmSumOfTwo() {}public static void main(String[] var0) {int var1 (new AsmSumOfTwo()).sum(1, 2);System.out.println(var1);}public int su…