性能测试loadrunner基础知识——性能测试分类

为什么要进行性能测试?

1.验证应用程序是否能够很快的响应用户的要求
2.验证应用程序是否能够处理预期的用户负载并且有盈余能力
3.验证应用程序是否能处理业务所需的事务数量
4.在预期和非预期的用户负载下,应用程序是否稳定
5.是否能保证用户在真正使用软件时获得舒服的体验

性能测试都要关注哪些方面?

1.并发用户数/吞吐量
2.平均响应时间
3.服务器资源占用情况
4.可靠性,可扩展性
5.软硬件配置是否合适



概念和术语

  性能测试是通过自动化的测试工具模拟多种正常,峰值以及超负荷条件下对系统各个性能指标进行测试。

一.并发数

系统用户数:该系统的注册用户数量,他们可以是活跃的,可以是僵尸的
在线用户数:即登录系统的用户,但是在线用户并不一定对系统服务器产生压力,用户可以登陆后什么都不做
并发用户数:是对服务器产生压力的用户。严格意义上的并发用户数:同一时刻进行同一个操作的用户数

二.响应时间

又叫请求响应时间
对请求作出响应所需要的时间:网络传输(请求)时间+服务器处理时间+网络传输(响应)时间

三.事务响应时间

  事务是指一组密切相关的操作集合。如:用户的一次登录操作可能包含多次HTTP请求(判断用户是否存在?密码是否正确?是否已经登陆?等)

四.每秒事务通过数(TPS)

  TPS是指每秒系统能够处理的事务数量,是衡量系统处理能力的重要指标
  当压力增大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能服务器开始出现瓶颈,如果环境没有发生大的变化,对于同一个系统还会存在一个最大处理事务的能力,它不随着并发用户增加而改变

例子:地铁检票机
只有10台进站检票的机子,一台机器一秒只能进1个人
当并发数为5时,则TPS为5
当并发数为10时,则TPS为10
当并发数为100时,TPS还是10(一次只能同时有10人通过)


五.点击率

  每秒点击数代表用户每秒向web服务器提交的HTTP请求数。点击率越大,服务器压力越大
  这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求


六.吞吐量

  单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力。
可以用请求数/秒或者页面数/秒来衡量,也可以用访问人数/天数或处理的业务数/小时来衡量


七.思考时间

  思考时间就是用户进行操作时,每个请求或者操作之间的间隔时间,是为了更好的更真实的模拟用户的操作场景


八.资源利用率

  不同的系统资源的使用情况。CPU,内存,磁盘,网络等




性能测试模型

一.曲线拐点模型

在这里插入图片描述 将所有指标融合到一起来分析,随着并发用户数的增加,吞吐量与资源利用率增加, 说明系统此时在积极处理,所以响应时间增加的并不明显,处于较好的状态,但是随着并发用户数量的不断增加,压力持续增大,吞吐量和资源利用率都达到了饱和,随后吞吐量急剧下降,造成响应时间就会极具增加。超过最大并发用户数,系统的性能就会急剧下降甚至崩溃。

二.地铁模型

假设:
某个地铁站有3个刷卡机
人少的情况下,每位乘客很快就可以刷卡进站,进站需要1s

场景一:只有一名乘客进站时,这名乘客可以在一秒时间内完成进站,此时利用一台刷卡机
场景二:只有两名乘客时,这两名乘客仍然可以在1s内完成进站,此时利用两台刷卡机
场景三:有3名乘客时,这三名乘客也可以在1s内完成进站,此时利用三台刷卡机
场景四:当1,2,3号乘客进站,同时4,5,6乘客也要进站,先到的1,2,3号先进站,4,5,6号客人就需要等待,而1,2,3号乘客进站时间就是1s。4,5,6号乘客进站时间就是2s
场景五: 同时有9个乘客需要进站,有3名乘客进站时间为1s,有3名进站时间为2s,有3名进站时间为3s
场景六: 进站的乘客越来越多,3台远远不够满足需求,此时为了减少人流的积压,就要再多开几个刷卡机,增加进站的人流与速度(提升TPS)
场景七: 到达上班高峰,乘客数量上升非常快,光靠进站措施已经无法满足,于是增加发车频率(加快服务器响应速度,数据库的处理速度),增加车厢数量(增大内存,增大吞吐量),限流等多种措施就很重要了




性能测试分类

一.基准测试

 有基础的标准,这样能够通过对比发现系统的不同点和变化
应用于以下场景:
1.可以在制定的标准下通过基准测试建立一个性能基准,这样以后当系统环境参数发生变化之后,再进行一次相同标准下的测试,即可看出变化对于性能的影响
2.系统进行基准测试可以在较早的阶段发现性能问题
3.某系统从来没有进行过任何性能测试,需要对该系统做一次性能评估作为后续开发调优的参考

二.狭义性能测试

  是通过模拟生产运行的业务压力量和使用场景结合,测试系统性能是否满足生产系统要求。Performance Testing是一种常见的测试方法,就是在特定的运行条件下验证系统的能力情况,主要是测试系统正常使用时是否满足要求

三.负载测试

  是在被测试系统上不断增加压力,直到各项指标达到饱和。这种测试方法可以找到系统的处理极限,为系统调优提供数据

四.压力测试

  压力测试是测试系统在一定饱和状态下,例如CPU,内存等在饱和状态下,系统能够处理的会话能力,以及系统是否会出现错误。压力测试与负载测试有些类似,经常将负载测试描述成压力测试的一种场景。压力测试主要目的是为了揭露高负载下的问题,例如内存泄漏,资源竞争等。

负载测试和压力测试两者可以结合进行
负载测试,确定在各种工作负载下的系统的性能,目标是测试当前负载逐渐增大时,系统各项指标的变化情况
压力测试是通过一个系统的瓶颈或者不能接受的测试点,来获得系统能提供的最大服务级别的测试


五.并发测试

  并发测试是通过模拟用户的并发访问,测试多个用户访问同一个应用,同一个模块时是否会出现问题。


六.配置测试

  配置测试方法是通过被测试系统的软/硬件环境的调整,了解不同环境对系统性能影响的程度,从而找到各项资源的最优分配原则
  例如在测试执行时更换,扩充硬件设备,调整网络环境,调整应用服务器和数据库服务器的参数设置,比较每次测试结果,从而确定各个因素对系统性能的影响

七.可靠性测试

  可靠性测试是通过给系统加载一定的业务压力的情况下,让系统持续运行一段时间,测试系统在这种条件下是否可以稳定运行

八.失效恢复测试

  1.失效恢复测试方法是针对有备份和负载均衡的系统设计的,这种测试方法可以用来验证如果系统局部发生故障,用户能否继续使用系统。
  2.一般的关键业务系统都会采用热备份或者是负载均衡的方式来实现。这种业务系统一般要求有一台或者几台服务器出现问题,应用系统仍然可以正常执行业务。该方法就是模拟系统出现故障,验证预期的恢复技术是否可以正常发挥作用
  3.不是所有的系统都需要进行这种测试

九.大数据量测试

大数据量测试分为两种类型:
1.独立的数据量测试
针对某些系统的存储,传输,统计,查询等业务进行大数据量的测试
2.综合数据量测试
和压力测试,负载测试,并发测试,可靠性测试相结合的综合测试方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值