性能定义:
性能是一种指标,表示软件系统或构件对其及时性要求的符合程度;同时性能是软件产品的一种特性,可以用时间来进行度量。
性能测试定义:
在一定负载情况下,系统的响应时间等待性是否满足特定性能需求。
性能测试流程:
性能指标:
1、响应时间(Response Time)
应用系统从发出请求开始到客户端接受到所有数据所消耗的时间。响应时间越短代表系统处理能力越高。
网络传输时间:N1+N2+N3+N4
应用延迟时间:应用服务器延迟时间(A1+A3)+数据库延迟时间(A2)
PS:在性能测试过程中,通常会关注事务的响应时间(Transaction Response Time,TRT)
2、并发用户数(并发数)
并发用户数是指同一时刻与服务器进行数据交互的所有用户数量。
系统用户数
该系统的使用用户数。非同时操作系统的用户数。
在线用户数
登录了该系统的用户数(包括游客模式)
3、吞吐量
单位时间内服务器处理客户请求的数量,吞吐量通常使用请求数/秒来衡量,直接体现服务器的承载能力。性能测试过程中主要关注指标之一。
在吞吐量在没有达到系统瓶颈时,会随着并发数的增加而增加,到达瓶颈后,吞吐量会趋于平稳走向。
4、TPS(TransactionperSecond)
服务器每秒处理的事务数,衡量系统处理能力的重要的指标之一。
5、吞吐率 衡量网络性能指标
6、点击率
7、事务成功率 99%
8、服务器资源占用率
在负载下系统的资源利用率。资源的占用率越低,说明系统越优秀。资源指的是支持整个系统运行程序的一切软硬件平台。例:CPU占用率、内存使用率、I/O读写能力、网络等。
PS:CPU占用率,内存使用率 一般要求在70%-80%以下。
测试方法:
1、负载测试
负载测试是指在一定的软件、硬件及网络环境下、运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求,以此确定系统所能承载最大用户数、最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。
通过不断增加并发数(负载),以确定系统所能承载最大用户数,最大有效用户数以及不同用户数下的系统响应时间及服务器的资源利用率。负载测试一般执行15分钟。
2、压力测试(疲劳测试)
压力测试是指在一定的软件,硬件及网络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。
模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能够稳定工作。压力测试一般执行40m-60m。
3、并发测试
并发测试市政通过模拟多个用户并发访问同一个应用、存储过程或数据记录及其他并发操作,测试是否存在死锁、数据错误等故障。通常需要加入集合点。
4、基准与配置测试(中间件 tomcat,redis,mq等)
基准测试是指在一定的软件、硬件及网络下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优是否达到孕期效果或者为系统的选择提供决策数据。
基准测试一般基于配置测试,通过配置测试得到数据,并将这个 数据作为基准来比较每次调优后的性能是否有所改善。
5、容量测试
容量测试是指在一定的软件、硬件、网络环境下,在数据库中构造不同数量级别的数据记录,运行一种或多种业务在一定的虚拟用户数量的情况下,获取不同数量级别的服务器性能指标,以确定数据库的最佳容量和最大容量。
6、可靠性测试
可靠性测试是当系统在一定业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性。如系统能够持续无故障运行多少天。一般使用并发数的85%,混合场景运行3-7天。