什么是性能测试?性能测试目的?性能测试的主要分类以及性能测试的常用指标?
性能测试的必备条件:
1.要是直接能连接到服务器的网络。不要使用跳板机、堡垒机或者VPN等网络连接方式,同时保证内外网分开。
因为我们要测试的是服务器的性能,这些东西会导致性能测试的结果受到很大的网络延迟影响,导致性能测试结果不准确。
2.保证独立环境。性能测试不能和功能测试共用一个环境。
保证功能测试和性能测试互不影响!
比如功能测试人员在测试某个功能,你在做性能测试的时候导致服务器出现问题。最后影响到功能测试人员的测试结果。
3.性能测试环境的服务器配置要与生产环境的服务器配置保持一致。
否则性能测试环境下测试出的指标值拿到生产环境下没有说服力。
4.保证被测的服务器不能是集群。
如果被测服务器是集群,那么我们在做测试的时候,不能保证压力分到了哪台服务器。
所以要保证是对一个服务器进行性能测试,而不是集群。
一、什么是性能测试?
通过自动化的测试工具模拟出多种正常场景、异常场景以及峰值负载场景条件下,对软件系统的各项性能指标进行的测试!
举例:12306抢票、秒杀活动、双十一全天等。
二、性能测试的目的?
验证软件系统是否可以达到用户提出的性能指标,同时发现软件系统中的性能瓶颈,从而优化软件系统。
一般来讲会先进行理论上的性能测试,比如:要求一个接口每分钟处理100条请求。
还有就是根据分析业务场景来开展性能测试。比如:500个用户正在浏览商品,300个用户正在参与秒杀,200个用户正在付款的情况下,此时软件系统的性能指标是否达到预期要求。这类混合场景的性能测试。
三、性能测试主要分哪几类?
1.负载测试:模拟实际软件系统所承受的负载条件,通过不断加载或者其他加载方式来找出性能指标变化的拐点。
以检验系统的行为和特性,以发现系统可能存在的性能问题,以预估出系统的大概的一个性能指标(并发数)。
关键词:不断加载(逐步加压)
2.压力测试:模拟一定负载条件下长时间的运行,软件系统是否能够正常、稳定的运行,系统的各项性能指标是否处在预期的范围之内。同时也可以测试系统是否具有良好的容错能力和恢复能力。
压力测试还分为:高负载下长时间的稳定性压力测试 和 极限负载情况下可能导致系统崩溃的破坏性测试
也可以称之为“稳定性测试”。
通过负载测试得出的性能指标(并发数)作为压力测试的负载条件。
关键词:大压力 + 长时间 (最小以小时为单位)
3.容量测试:确定系统的最大承受量。例如:系统的最大用户量,最大存储量、最大的处理数据量。
四、性能测试的指标?
1.响应时间(Response Time):t1+t2+t3+t4
time1:客户端——服务器(发送请求)
time2:服务器处理时间
time3:数据库处理时间
time4:服务器——客户端(返回数据)
2.并发\并发数\并发用户数( Concurrent users):一定时间内向服务器发送的请求用户数
a.同一时间在做相同事情的并发(单接口性能测试)
b.同一时间在做不同事情的并发(混合业务场景测试)
所以说,一般先做 单接口的性能测试,然后再做 单业务性能测试,最后做 混合业务场景的性能测试。
3.TPS(Transaction per Second):系统每秒处理的事务数
TPS越高,表示服务器处理能力越好。
QPS:每秒查询数
这也是在做性能测试时,最重要的一个指标值。
4.吞吐量:事务/s,kb/s
在不受网络延迟影响的情况下,吞吐量是和TPS值相等的。
5.资源利用率:主要包括CPU、内存、磁盘、I/O(换入/换出)
一般都要求不会超过80%,占用率越低,表现越好。