登录

软件性能

百科 > 计算机 > 软件性能

1.什么是软件性能

  软件性能是指软件响应及时度满足用户要求的程度。

2.软件性能的内容

  软件性能是软件在运行的过程中表现出来的时间和空间效率与用户的需求之间的吻合程度。如果时间和空间效率与其心理期待一致或能够达到用户的即定要求,用户就认为这个软件的性能是符合的;反之,此软件的性能则被认为是有问题的或者用户难以接受的。从宏观上看,软件性能就是软件运行时完成某一功能的响应性特征,以及增加软件功能时保持响应性的能力,即可伸缩性特征。

  狭义地讲,软件性能是指软件在尽可能少地占用系统资源的前提下,尽可能高地提高运行速度;广义地讲,软件性能是指软件质量的属性,包括正确性、可靠性、易用性、安全性、可扩展性、兼容性和可移植性。软件的性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。由于感受软件性能的主体是人,不同的人对于同样的软件能有不同的主观感受,而且不同的人对于软件性能关心的视角也不同。由于目前网络应用非常普遍,因此下面将介绍网络应用软件性能的指标和软件性能的视角。

  • 用户视角

  对用户而言,性能就是响应时间。用户甚至不关心响应时间中哪些是软件造成的,哪些是硬件造成的。但用和感受到的响应时间既有客观成分,也有主观成分,甚至是心理因素 。

  • 管理员视角

  管理员需要使用软件提供的管理功能等手段来方便普通用户使用。这类用户首先关注普通用户感受到的软件性能。其次,管理员需要进一步关注如何利用管理功能进行性能调优。

  • 开发人员视角

  开发人员的视角与管理员的视角基本一致,但开发人员需要更深入地关注软件性能。在开发过程中,开发人员希望能够尽可能地开发出高性能的软件。

  软件性能评价方法大致可以分为两类:测量方法和模型方法。测量方法在软件系统的运行过程中利用一定的测量设备或测量程序得到各种性能指标。这是最直接也是最简单的方法,但是这种方法比较费时而且只能在系统设计编码完成以后进行实施,对软件设计过程起不到应有的修正作用。

3.软件性能的指标

  • 响应时间

  响应时间是指系统对请求作出响应的时间。直观上看,这个指标与人对软件性能的主观感受是非常一致的,因为它完整地记录了整个计算机系统处理请求的时间。由于一个系统通常会提供许多功能,而不同功能的处理逻辑也千差万别,因而不同功能的响应时间也不尽相同,甚至同一功能在不同输入数据的情况下响应时间也不相同。所以,在讨论一个系统的响应时间时,人们通常是指该系统所有功能的平均时间或者所有功能的最大响应时间。当然,往往也需要对每个或每组功能讨论其平均响应时间和最大响应时间。

  • 系统响应时间和应用延迟时间

  虽然软件性能指标本身只涉及软件性能的度量,但考虑到软件性能测试的主要目的是测试改善所开发软件的性能,对于复杂的网络化的软件而言,简单地用响应时间进行度量就不一定合适了。

  考虑一个普通的网站系统。开发该网站系统时,软件开发实际上只集中在服务器端,因为客户端的软件是标准的浏览器。虽然用户看到的响应时间时使用特定客户端计算机上的特定浏览器浏览该网站的响应时间,但是在讨论软件性能时更关心所开发网站软件本身的“响应时间”。

  吞吐量是指系统在单位时间内处理请求的数量。对于无并发的应用系统而言,吞吐量与响应时间成严格的反比关系,实际上此时吞吐量就是响应时间的倒数。前面已经说过,对于单用户的系统,响应时间(或者系统响应时间和应用延迟时间)可以很好地度量系统的性能,但对于并发系统,通常需要用吞吐量作为性能指标。

  • 并发用户数

  并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。与吞吐量相比,并发用户数是一个更直观但也更笼统的性能指标。实际上,并发用户数是一个非常不准确的指标,因为用户不同的使用模式会导致不同用户在单位时间发出不同数量的请求。

  • 资源利用率

  资源利用率反映的是在一段时间内资源平均被占用的情况。对于数量为1的资源,资源利用率可以表示为被占用的时间与整段时间的比值;对于数量不为1的资源,资源利用率可以表示为在该段时间内平均被占用的资源数与总资源数的比值。

评论  |   0条评论