软件需求模型V模型
性能需求分析-概要设计-详细设计-编码-单元性能测试-集成性能测试-系统性能测试
性能需求分析:首先需要根据系统的业务特点制定明确的性能需求,为系统设计和性能测试提供依据
概要设计:针对系统性能要求,从数据库结构、软件架构、部署结构等方面进行系统的设计工作
详细设计:从单元粒度、算法逻辑复杂度、变量定义等工作方面进行系统的设计工作
性能测试:根据不同的阶段,可以将性能测试分解为单元性能测试、集成性能测试和系统性能测试
1.性能需求分析方法
1.1响应时间
响应时间指标是对系统执行速度提出的性能要求,在系统需求分析过程中需要对系统相应时间进行明确定义
1.1.1响应时间指标的选择。在进行系统性能需求分析时,需要对闲时响应时间、忙时响应时间和封时响应时间分别进行定义。闲时响应时间是系统最快响应时间,标识系统响应速度的最高要求;忙时响应时间是系统正常情况下的响应时间,标识系统大部分情况下的响应速度要求;峰时响应时间是系统最差的响应时间,标识系统响应时间的最低要求。在进行需求分析时,针对系统业务特点及用户要求,选择敏感的指标进行性能需求定义。
1.1.2功能点的选择。在进行性能定义时,并不需要对系统中每个功能点都进行相应时间指标定义,一般都做法是对系统最关键、操作最频繁、处理最复杂的功能点进行相应时间定义;对于一般功能按照功能类型进行相应时间定义;对于有可能发生多用户并发访问的功能进行相应时间定义
1.1.3指标范围的确定。从用户感受方面看,1秒以内代表及时响应,用户满意度高;3秒内代表顺畅相应,用户满意;5秒内代表正常相应,用户基本满意;8秒内代表延迟相应,用户能够任何搜;10秒内代表忍受式相应,用户产生抱怨。从业务复杂度方面看,对于简单的交易型业务,相应时间应该在3秒以内;数据量较大的查询类业务,闲时相应时间最好在10 秒内;10秒以上的为放弃式响应,用户在此类功能执行过程中,需要进行明确提示,说明为何功能执行较慢,显示处理进度条等。从业务复杂度方面看,对于简单的交易型业务,闲时相应时间应该在3秒内,数据量较大的查询业务,闲时相应时间最好在10秒内;逻辑复杂的统计累业务,闲时相应时间最好在1分钟之内;图形类显示业务,闲时相应时间最好在15秒以内;上传。下载类业务与上传下载的数据量有关,需要在执行中给出明确的进度提示。
1.2最大用户并发数
最大用户并发数定义了系统处理容量,是描述网络系统的重要性指标。在定义最大并发用户数需求时,有以下方面需求考虑:
1.2.1指标的选择。与系统用户数量相关的指标包括注册用户数、在线用户数、平均并发用户数量和最大用户并发数量等。注册用户数量是指系统中注册的用户数量,这个指标并不代表系统的处理能力,而代表系统处理能力,一般不做为性能指标定义。在线用户数是指在一段时间内登录系统,并在系统中操作的用户数量。平均用户数指在正常情况下系统的并发用户数量,用于衡量系统在正常业务量情况下的处理能力,在需求分析时可以定义该指标作为一个性能指标。最大并发用户数指系统在业务高峰时能够承载的最大用户数量,是刻画系统性能的一个重要指标。
1.2.2功能点的选择。登录用户在系统中执行的功能各不相同,所以在定义并发用户数指标时,需要根据系统业务特点,分析有可能产生大量用户并发访问的功能点,一次功能为重点,分析平均并发用户数和最大并发用户数的要求。
1.2.3指标范围的确定。在定义在线用户数、平均并发用户数和最大并发用户数指标时,可以采用公式法和统计法。公式法按照计算公式,通过注册用户数预测在线用户数、平均并发用户数量和最大用户并发数量。采用公式法比较简单,但是公式的定义需求再大量的统计数据的基础上得到,方法针对性不强,预测效果不尽如人意。
平均并发用户数(C)=NL/T
z最大并发用户数(C^)≈C+3√C
其中,C代表平均并发用户数,C^代表最大并发用户数,n是访问系统用户数量,L是用户访问系统平均时间(分钟),T代表用户使用系统时间段(分钟)。
1.3吞吐量。吞吐量指单位时间内系统处理的客户请求数量,体现系统的整体处理能力。
1.3.1指标的选择。描述吞吐量的指标很多,例如页面访问量PV,每秒请求数量RPS/,每秒交易数量TPS等。吞吐量指标并补水每个信息系统都需要确定的性能指标,一般情况下交易型或者处理型系统需要重点明确吞吐量性能指标。
1.3.2功能的选择。系统中并不是所有功能都会产生大量的吞吐量,在定义吞吐量指标时,需要根据系统业务特点,选择交易类型功能或者处理类型功能,分析功能发生频度,进而定义吞吐量指标。
1.1.3指标范围的确定。吞吐量是刻画的是系统峰时的处理能力,其指标的确定完全受业务特点的影响,
1.4资源利用率。资源利用率刻画了系统使用过程中资源的占用情况,是反应系统执行状态的最直观的指标。
1.4.1指标的选择,对于某些访问量补打的系统来说,资源利用并不充分,此时利用率不是重要的性能指标,在需求描述中可以不预定义;而对于某些访问量大的系统来说,资源有可能在使用过程中被耗尽,为了防止由于资源耗尽而造成系统不可用,就需要对服务器资源利用率指标进行明确定义。
1.4.2指标范围的确定。资源利用率指标定义了系统运行时允许到达的最大资源利用率。如果在资源利用率达到上限后,系统处理能力无法达到性能要求,则说明服务器硬件资源已经无法满足系统要求,需要进行硬件配置的提升。在定义资源利用率范围时,需要根据服务器配置、服务器用途、运维要求等因素来确定具体指标值,例如CPU利用率低于80%,内存利用率低于75%等。