性能测试的基础概念

1、什么是软件性能?

  主要从两个方面体现:响应时间,及时处理能力。
        首先,性能是一种指标,表明软件系统或构件对其及时性要求的符合程度;
其次,性能是软件产品的一种特性,可以用时间来进行度量。

2、不同角色对性能的关注点

用户关注的性能:系统的响应时间(操作响应快);
系统管理员关注的性能:

开发人员的性能关注点:

性能测试人员关注点:

性能测试人员要全面考虑,即关注以上所有关注点,既需关注最表面、直观的响应时间,也需内里、本质的影响因素,如资源利用率、系统容量、稳定性、系统架构(eg三层架构)、业务数据流向、服务器瓶颈、网络瓶颈、中间件等。

3、性能测试的目的

1)验证系统的处理能力(是否达到用户 | 产品提出的性能指标);

2)识别系统的性能瓶颈;

3)验证系统的稳定性和可靠性:7*24小时压力下,性能是否稳定;

4)系统调优(eg,12306:分流(分时间段出票)、加入排队系统、全程票(减少库存查询))。

4、性能测试的方法:

负载测试(主要目的是找到系统处理能力的极限):不断增加并发用户数,验证系统处理能力的极限。

关注:tps随并发用户数不断增加的变化,拐点及拐点后的变化。

注意:在给定的测试环境下进行,通常需要考虑北侧系统的业务压力量和典型场景。

作用:一般用来了解系统的性能容量,或配合性能调优使用。

压力测试:负载一定,持续运行一段时间(7*24小时)来验证系统的稳定性。

5、性能测试的常用术语:

并发
狭义的并发:用户在同一时间内做同一事情
广义的并发:用户同时操作不同的功能(混合场景:登录、下订单、、支付订单)

在性能测试中,一般先进行狭义的并发(单场景单接口做性能测试,可更好地定位问题),再进行广义的并发(混合场景(验证系统的稳定性,在多个关联接口时,会不会出现新的问题))

并发用户数

系统用户数:系统的注册用户数(包含僵尸用户)

在线用户数:登录系统的用户(不一定对服务器产生压力)

并发用户数:对服务器产生压力的用户

并发用户数的确定:老系统-找运维;新系统:竞品、做过的项目、经验

事务

事务是性能脚本中的一个重要特性。要度量服务器的性能,需要定义事务,每个事务都包含事务开始和事务结束标记。事务用来衡量脚本中一行代码或多行大妈的执行所消耗的时间。

响应时间

响应时间=网络时间(N1+N2+N3+N4)+服务器处理时间(A1+A3)+数据库处理时间(A2)

web的HTTP请求中响应时间包括了前段渲染时间,但是loadrunner中是不统计前段渲染时间的。

tps(Transaction Pre Second)

服务器每秒能处理的事务数,用来衡量服务器处理能力。基于事务统计。

吞吐量

指系统在单位时间内处理请求的数量,不严格意义上来说就是tps。

点击率(Hit Per Second)

从客户端发起请求服务器的数量(衡量客户端性能,需排除网络、本机产生的影响)。

资源利用率

指系统资源的使用程度,比如服务器(网络及数据库)的CPU利用率,内存利用率,硬盘利用率,网络带宽利用率等。

CPU

大脑,主要进行判断和处理,能反应出系统的繁忙程度,一般分为系统CPU(%sys)与用户态CPU(%user),其中系统CPU是处理系统本身所占用的资源,用户CPU则是处理程序所占用的资源。对象不同。

用户态CPU高:代码、sql语句处理有问题;

系统态CPU高:内核、服务器资源瓶颈。

Load Average

指一段时间内CPU正在处理和等待CPU处理的事务,也就是CPU使用队列的长度的统计信息。eg:地铁进站,等待乘客越多,load average越大。

Memory

记忆区域,将各种信息收集起来存放。数据从内存读取要比从磁盘读取速度快,而内存经常发生内存泄漏或内存溢出的现象。

队列

可以理解成进站排队的现象,队列长,说明处理可能达到了极限或者遇到了阻塞。

网络

重点关注网络的流量,看是否存在网络带宽的瓶颈。

猜你喜欢

转载自www.cnblogs.com/wq-zhou/p/10631189.html