性能测试那么笼统,测试小白到底该如何认知性能?
性能概念
软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。
由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后。另外,由及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试。
性能测试定义:指通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。
1、响应时间
Response time = (N1+N2+N3+N4)+ (A1+A2+a3),即:(网络时间 + 应用程序处理时间)
响应时间-负载对应关系:
图中拐点说明:
响应时间突然增加
意味着系统的一种或多种资源利用达到的极限
通常可以利用拐点来进行性能测试分析与定位
2、并发数
并发用户数:某一物理时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以是不同场景或功能。
在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求
系统用户数:系统注册的总用户数据
三者之间的关系:系统用户数 >= 在线用户数 >= 并发用户数
3、TPS(吞吐量)
定义:单位时间内系统处理的客户端请求的数量
计算单位:一般使用 请求数/秒做为吞吐量的单位,出可以使用 页面数/秒表表示。
另外,从业务角度来说也可以使用 访问人数 /天 或 页面访问量/天 ,看实际情况。
计算方法:Throughput = (number of requests) / (total time).
吞吐量-负载对应关系:
图中拐点说明:
吞吐量逐渐达到饱和
意味着系统的一种或多种资源利用达到的极限
通常可以利用拐点来进行性能测试分析与定位
4、资源利用率
定义:指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量
通常需要关注的服务器资源如下:
CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制
内存:大脑中的记忆块区,将眼睛,皮肤等收集到的信息记录起来的地方,以供cpu进行判断,但是是临时的,访问速度快,如果关机或断电这里的数据会消失。
磁盘IO:大脑中的记忆区块,将重要的数据保存起来(永久保存,关机或断电不会丢失,速度慢),以便将来再次使用这些数据。
网络:数据传输通道,一般局域网环境内,
带宽问题的可能性比较小。
资源利用-负载对应关系:
图中拐点说明:
服务器某荐资源使用逐渐达到饱和
通常可以利用拐点来进行性能测试分析与定位
5、事务&思考时间
事务:用户自定义的一个标识,用来衡量不同的操作所花费的时间,事务时间反映的是一个操作过程的响应时间。
思考时间:为了更好的模拟用户的行为,需要模拟用户在不同操作之间等待的时间,例如,当用户收到来自服务器的数据时,可能要等待几秒查看数据,然后再做出响应,这种延迟,就称为思考时间
集合点:模拟系统上较重用户负载时,有时需要模拟多个用户恰好在同一时刻执行任务,这时候就需要创建集合点,配置多个用户同时执行操作,当某个用户到达集合点时,将进行等待,直到指定数据量的用户到达后才释放这些用户。
备注:思考时间内是不对服务器产生压力的,加上思考时间会让你的压测的数据更好看!
6、其它常用概念
点击数:每秒钟用户向WEB服务器提交的HTTP请求数。
这个指标是WEB应用特有的一个指标:WEB应用是"请求-响应"模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB应用能够处理的交易的最小单位。
如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大,对服务器的压力越大。
点击率只是一个性能参考指标,重要的是分析点击时产生的影响。
需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求.
PV:访问一个URL,产生一个PV(Page View,页面访问量),每日每个网站的总PV量是形容一个 网站规模的重要指标。
UV:作为一个独立的用户,访问站点的所有页面均算作一个UV(Unique Visitor,用户访问)
扫描二维码
往期回顾
01 | |
02 | |
03 | |
04 | |