软件性能概述

1.1 软件性能基础

1.1.1 软件性能的概念  

  软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及

时性及资源经济性的要求。

1.1.2 不同角色对软件性能的理解

  (1)系统用户:响应时间。用户执行一个功能操作后,到软件把本次操作的结果完全展示给用户所消耗的时间。

  (2)系统运维人员:稳定,可扩展性。主要是性能调优。

  (3)系统开发人员:架构,数据库,线程同步。

1.1.3软件性能的重要性

  对于一个软件系统,运行时间执行速度越快、占用系统存储资源及其他资源越少,则软件性能越好。性能是软件所需要的资源和完成工作的时间,在功能相同的情况下,性能是衡量事情完成效果的一个重要因素。

1.2 常用性能指标

1.2.1  响应时间:用户感受到的软件系统为其服务所消耗的时间。  操作->应答。

  三种情况:

  闲时响应时间、忙时响应时间、峰时响应时间。

1.2.2  并发用户数:系统能够同时处理的用户请求的数目。

    还有注册用户和在线用户数。

  平均并发用户数:指系统正常访问量下的并发用户数。

  最大并发用户数:指在峰值访问下的并发用户数。(反应了系统的处理能力,往往作为一项重要的性能指标在需求分析时进行定义)。

1.2.3 吞吐量 :指单位时间内系统处理的客户请求数量。以Byte为单位。

  RPS :请求数/秒。 每秒内能够处理的最大请求数量。

  PPS :页面数/秒。 每秒内能够显示的页面数量。

  PV  :页面数/天。 每天总的Page View 数量。

  TPS :事物/秒。   每秒能够处理的事物数量。

  QPS :查询/秒。   每秒能够处理的查询请求数量。

1.2.4 服务器性能计数器。 

    一些数据指标,在性能测试中发挥着监控和分析的关键作用。

1.3软件性能的影响因素

  以web信息系统为例,会影响整体访问性能的因素有可能包括以下几个方面:

    (1)客户端计算机硬件配置。

  (2)客户端并发执行情况。

  (3)浏览器软件性能。

  (4)服务器端硬件配置。

  (5)Web服务器软件、应用服务器软件、数据库服务器软件的性能。

  (6)系统缓存机制。

  (7)系统程序性能。

  (8)数据库设计方案的合理性。

  (9)数据库访问语句的性能。

  (10)数据量的大小。

  (11)客户端网络带宽。

  (12)服务器端网络带宽。

  (13)当前系统的并发用户数。

 1.4 软件性能生命周期模型

  

  性能需求分析:首先需要根据系统的业务特点制定明确的性能需求,为系统的设计和性能测试提供依据。

  概要设计:针对系统性能要求,从数据结构、软件架构、部署结构等方面进行系统的设计工作。

  详细设计:从单元粒度、算法逻辑复杂度、变量定义等方面进行系统的设计工作。

  性能测试:根据不同的阶段,可以将性能测试分解为单元性能测试、集成性能测试和系统性能测试。

1.5你对性能测试的理解

     性能测试是验证系统性能是否达到性能需求要求的测试活动,一般情况下性能测试专指在系统测试阶段进行的性能测试。然而,系统性能问题都是在系统设计和开发的各个环节引入的,相同的缺陷在不同的阶段发现,修复缺陷所需要付出的代价差异极大,而且有些缺陷只有在某些阶段才容易发现,如果在系统测试阶段由于性能未满足要求再进行问题的定位,将非常困难。所以在单元测试和集成测试阶段也需要针对性进行专门测试,以尽早的发现系统中有可能存在的性能瓶颈,尽早的进行性能优化,降低系统发生性能问题的可能性。

   

 

posted @ 2014-11-04 00:42  韩韩forever  阅读(892)  评论(0编辑  收藏  举报