性能测试基础

性能测试概念

性能:一般来说,性能是一种指标,表明软件系统或构件对于其及时性要求的复合程,其次,性能是软件产品的一种特性,可以用时间来进行度量。

性能测试:就是用来测试软件在系统中的运行性能的。性能测试可以发生在各个测试阶段中,即使是在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,

然而只有当整个系统的所有成分都集成到一起之后,才能检查一个系统的真正性能。

 性能测试目的

性能测试,一般是基于以下4个方面的部分或全部。

(1)是验证系统在给定的条件下处理性能是否达到设计目标与用户要求。

(2)是探测系统在给定的条件下极限处理能力

(3)通过对系统各参数的调整,测试系统的最优性能配置。

(4)通过性能测试发现功能测试难以发现的缺陷。

我们日常的性能测试中,第一种测试目的是最多的。第三种要求较高,相对来说,较少用到。

 性能测试指标:

软件性能测试常见的主要指标有:响应时间,吞吐量,并发用户数,资源利用率。

相应时间:

响应时间是指:对请求作出响应所需要的时间:从用户的角度来说,主要是指响应时间是否足够快。响应时间就是软件性能测试中用户最直接感受的性能指标。一般情况下,响应时间越短,系统的性能越好

响应时间标准:响应时间没有一个标准来参考。合理的响应时间取决于实际的应用场景与人们可以接受的程度来确定

吞吐量:

单位时间内系统处理的客户请求的数量。该性能指标直接体现了软件系统的性能承载能力。一般可以用请求数/秒或字节数/秒等来度量。

并发用户数:

同时向系统(服务端)发送请求的数量。该性能指标直接体现了软件系统(服务端)承受最大的并发访问的能力。实质是并发用户数请求/秒在领域中的对应指标。

资源利用率:

主要是指系统的各种资源使用状态。这里资源主要是指系统cpu占用率,内存占用率以及系统的I/O统计情况。通过这些资源占用率就可以评估所测系统对资源的要求以及相应可能出现的瓶颈。从而为系统调优提供方向指导。

性能指标来源:

(1)用户对各项指标提出的明确需求是性能测试指标的主要来源,

(2)如果用户没有明确提出性能指标,则要根据行业标准以及相关的经验并结合具体的实 现过程,通过分析后提供适合的性能指标值。

性能测试原则:

1)情况许可时,应使用几种测试工具或手段分别独立进行测试,并将结果相互印证,避免单一工具或测试手段自身缺陷影响结果的准确性;

2)对于不同的系统,性能关注点是有所区别的,应该具体问题具体分析;

3)查找瓶颈的过程应由易到难逐步排查:

服务器硬件瓶颈及网络瓶颈(局域网环境下可以不考虑网络因素)

应用服务器及中间件操作系统瓶颈(数据库、WEB服务器等参数配置)

应用业务瓶颈(SQL语句、数据库设计、业务逻辑、算法、数据等)

4)性能调优过程中不宜对系统的各种参数进行随意的改动,应该以用户配置手册中相关参数设置为基础,逐步根据实际现场环境进行优化

一次只对某个领域进行性能调优(例如对CPU的使用情况进行分析),并且每次只改动一个设置,避免相关因素互相干扰;

5)调优过程中应仔细进行记录,保留每一步的操作内容及结果,以便比较分析;

6)性能调优是一个经验性的工作,需要多思考、分析、交流和积累;

7)了解“有限的资源,无限的需求”;

8)尽可能在开始前明确调优工作的终止标准。

 

posted @ 2018-03-13 15:57  朱玉彬  阅读(34)  评论(0)    收藏  举报