(12、13)性能测试指标

本文介绍了性能测试的基础概念,包括性能测试、负载测试等的区别与联系,详细解释了并发用户数、响应时间RT、TPS等关键性能指标的意义及计算方法。

性能测试指标

性能测试理论,是非常重要的,在我们做性能测试、功能测试、自动化测试面试的时候,都会问性能相关的,
问的全都是性能测试理论。

性能测试的概念

性能测试、负载测试、压力测试、容量测试、稳定性测试......
期望:概念+关键字
 - 先做负载测试 ->> 性能测试 ->> 性能报告
 	- 如果有不稳定性的问题,再做压力测试【压测】 ->>【压力测试】
 		- 【压测】应该是怎么意思?
 			- 就是要我们先做负载测试,得到接口的最大可接受的并发用户数
 			- 然后再用这个并发用户数,进行性能测试。得到性能指标数据,输出性能报告。
 		- 口语中的【压力测试】
 			- 也是,负载测试 ->> 性能测试,得到性能指标数据,输出性能报告。
 			- 口语中说的压力测试,其实他并不一定懂得性能测试的概念。

 		- 【基准测试】
 			- 基准:以前没有的,现在需要你来做第一版的性能指标数据,然后后续版本,就可以与
			  这个数据进行比较,得到性能是否能够优化。
			- 也是,先做接口的负载测试,再做性能测试,得到性能指标值。

 		- 并发用户数 VS 线程数
 			- 性能测试时,并发用户是使用原始驱动力,并发用户模拟我们的真实用户
 				- 性能测试是需要用多用户并发的,单用户的测试,不属于性能测试
 			- 并发用户数:
 				- 性能测试工具:不一样的工具,来模拟产生并发用户的方式都是不一样的。
 					- 造出这些并发用户的方式,常见的有三种:
 						- 线程:用线程来模拟人"并发用户数=线程数"
 						- 进程:用进程来模拟人"并发用户数=进程数"
 						- 协程:用协程来模拟人"并发用户数=协程数"

 					  比喻:进程、线程、协程之间的关系:理解为"手臂、手掌、手指"
 					  
 					- 性能测试工具:
 						- jmeter:用线程来模拟人,jmeter中,我们把线程数==并发用户数
 						- loadruner:可以用线程来模拟人、也可以用进程来模拟人,loadruner中
						  要看你具体用那种方式,那"并发用户数就等于那种方式"
 						- ngrinder:用【进程*线程】来模拟,它的这个"并发用户数==进程*线程的数量"
 						- locust:用协程来模拟,它的"并发用户数==协程"

性能指标

- 并发 VS 并行
 			- 并发:同一时间做事情(不要求是相同的事情)
 				- 狭义:如果做相同的事情,这是狭义上的并发(集合点)
 				- 广义:同一时间做事情(可以相同也可以不同)
 			- 并行:我有两个程序同时运行,
 			- 例:【并发是一个人同时吃三个馒头】
 			- 例:【并行是三个人同时吃三个馒头】

 		- 并发用户数 VS 在线用户数 VS 系统用户数
 			- 并发用户数:一定有并发请求的用户数
 			- 在线用户数:只有在访问系统,我可以不做请求(挂机),也可以请求,所以我们性能测试,不用在线用户数
 				- 行业经验:在线用户数的'5%~~10%'当作并发用户数
 			- 系统用户:访问了系统,在系统中留下了访问记录的人,都会被定义为'系统用户'

响应时间RT

一个请求,从发起点开始计时,经过网络传输,到达服务器,在服务器内部处理,处理后通过网络传输返回给发起方,
之间的时间差,就是响应时间。
http\https 发起方------网络传输------服务器---服务器----服务器------网络传输------发起方
 - 在性能测试中,我们期望网络传输时间越短越好
 	- 怎么才能让这个网络传输时间短呢?
 		- 高带宽
 		- 尽可能使用有线网络
 		- 网络越简单越好	------推荐使用'局域网'------性能测试时使用'独立网络'
 	- 我们性能测试,尽可能的使用'有线网络、局域网络、独立网络'
 		- 日常我们常用的 VMware软件 与 本机 用'NAT网络',VMware和本机是一个小局域网,这个局域网只有
		  你的VMware机器和你的本机,别人都不在这个局域网里面(离开本机之外的机器都不在这个局域网)- virtualbox这个虚拟机用'桥接网络',这个虚拟机与你本机和你同事的机器,都在一个局域网

 	- 服务器处理的越快,那么响应时间也会越短
 		- 如果响应时间越短,说明服务器性能越好
 			- 服务器 == '硬件 + 操作系统 + 项目'

 	- 服务器性能,怎么才是好的性能呢?
 		- 需要把'硬件 + 操作系统 + 项目,综合调优',使其性能最优,这就是我们性能测试的最终目的。
 		- 性能测试人员的价值,就体现在:能把'硬件 + 操作系统 + 项目',进行综合调优

 	- 性能里的响应时间值,就是一个非常重要的性能指标值。
 		- 行业标准:http\https协议,接口的平均响应时间 <= 1.5s(平均的代名词用:AvgRT、aRT)
 		- 平均响应时间 50%响应时间(最大数 + 最小数 除 2 等于平均数),平均响应时间,
 		  并不能完全体现你'性能的真实情况'
 		- 90%响应时间,相对来说更加能够反应性能情况
 			- 90%响应时间:说,我们总的请求次数中,所有的响应时间中有90%时间,是 <= 这个时间的

# 补充:
 		- 并发:同一时间做事情(可以做相同的事情,也可以做不同的事情)
 		- 请求数:最终执行的结果

TPS(transaction per second)

服务器每秒处理的事务数
是服务器能力值的综合体现,所以它是我们性能测试中最主要的性能指标值

  • 所以,企业中期望这个越大越好

事务

  • 一个事务,就是会话。
  • 一个事务,可以是多个完整的请求和响应
  • 性能测试,开始时,先做单接口的性能测试,然后再做多接口合并为业务的性能测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值