第1章 性能测试基础

1.解决性能问题需要注意以下几个问题:

1)确定需求;2)确保系统的健壮性;3)制定意外的处理方式。

2.性能测试

2.1 衡量软件的性能需要考虑以下三点:

1)时间特性 --------在规定条件下,软件执行其功能时提供适当的响应和处理时间以及吞吐率的能力。

2)资源利用性-------在规定的条件下,软件执行其功能时使用合适数量和类别的资源的能力。

3)效率依从性-------软件产品遵循与效率相关的标准或约定的能力。

2.2 性能测试的分类

★负载测试-----强调的是在一定的环境下,系统能够达到的峰值指标。此测试关心how much和how fast。多数的性能测试指负载测试。

★压力测试-----强调的是极端情况下系统的稳定性,处理能力可不考虑。

★容量测试----不仅可以对数据库进行,还可以对硬件处理能力、各种服务器的等进行,以此来测试系统在不同的容量级别下是否能达到指定的性能。此测试关心how much。

       容量测试中有 可伸缩性一说,主要从硬件与软件两个方面考虑。其具体的测试过程包括:进行负载测试,记录不同负载下平均响应时间,然后查看平均响应时间是否线性增加,如线性增加,则说明系统具有可伸缩性,否则说明可伸缩性较差或无。

★配置测试-----不同的配置,系统存在不同的性能变化。

★基准测试------通过基准测试得到基线数据。一般基于配置测试,通过配置测试得到数据,以此调优性能。

★并发测试------通过模拟多个用户并发访问一个应用、存储过程或数据记录及其他并发操作,来测试是否存在死锁、数据错误等故障。最好分模块并发测试。

★可靠性测试-----系统在一定的业务压力,让系统持续运行一段时间,鸡窝系统是否达到要求的稳定性,此处强调在一定的业务压力下持续运行的能力。

★失效恢复测试-----重在关注系统出现问题后能否根据预先制定的策略恢复,且恢复后能否正常运行。要关注问题影响的范围是否可承受。

★现网性能测试-------实际网络与环境中,真实测试数据进行测试。注意点:时间段的选择,垃圾数据处理,网络限制。

2.3性能测试进行的时间

①编码阶段执行压力与并发

②编码-测试之间执行容量测试

③测试阶段执行(负载/配置/基准)

3性能指标

监控性能的指标包括以下3点:

响应时间

┝┝┝┝反映完成某个业务所需要的时间。事务是指做某件事情的操作,在性能测试中通过事务函数来完成对各应时间的统计,事务函数记录开始做事和做完之间的时间差,简称事务响应时间(TRT)

吞吐量

┝┝┝┝反映单位时间内能够处理的事务数目,简称TPS。其计算公式:

         TPS=(N*R)/T

N=虚拟用户数,R=在T时间内每个虚拟用户的请求字节数,T=性能测试所用时间

服务器资源占用

┝┝┝┝反映在负载下系统的资源利用率

名称理解:

系统实际用户------可能会有很多用户使用同一个系统,但并不是所有的用户都会同时使用该系统,所以系统的实际用户是一个容量的问题,而不是负载的问题。

系统在线用户------当系统用户对系统进行操作时我们认为该用户为在线用户,,这些用户对系统形成了负载,在线用户与实际用户的的比例是根据系统的特殊决定的。

并发操作------在线用户会对系统产生负载,但用户和用户之间的操作却不是并发的,因为首先用户的操作需要延时等待,其次每个用户的操作并不完全相同。并发操作会对系统产生很大的负载,当多人用户同时对某个功能进行操作时,服务器必须对这些请求进行队列管理,依次处理。还一种并发是在线用户同一时间做同一种操作,主要是验证程序或数据库发的处理能力。

并发用户数≠每秒请求数

对于一具VUser来说,每秒发出的多少请求跟服务器返回各应的速度有关。如果VUserd 0.5秒内就收到了响应,那它会立即发现第二个请求;而如果要一直等待3秒才能得到响应,它将会一直等到收到响应后才发出第二个请求。也就是说,并发用户数的设置只是保证服务器在任一时刻都有相应数量的请求需要处理,而并不一定是保证每秒中发送相应数量的请求给服务器。

所以,只有当响应时间恰好是1秒时,并发用户数才会等于每秒请求数;否则,每秒请求数可能大于并发用户数或小于并发用户数。

你可能感兴趣的:(第1章 性能测试基础)