




已阅读5页,还剩62页未读, 继续免费阅读
(计算机应用技术专业论文)演进阶段软件性能评测研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
学位论文摘要 类别:硕士 学科:工学 专业:计算机应用技术 研究方向:计算机在通信中的应用 题目:演进阶段软件性能评测研究 i i i ii iii iii i ii i ii i iiii 17 5 5 4 8 5 英文题目:t h er e s e a r c ho fs o f t w a r ep e r f o r m a n c ee v a l u a t i o ni n e v o l u t i o np h a s e 主题词:软件系统;排队网络;性能模型 k e y w o r d s :s o t t w a r es 南京邮电大学硕士学位论文 摘要 摘要 由于市场需求的不断变化、新技术的应用等原因,软件系统需要不断演进以适应这些 新的需求、新的技术和新的环境,因此,软件演进的概念变得越来越重要。同时,由于软 件系统服务质量的提高和营运成本的降低都离不开其性能的分析与优化,软件性能问题得 到越多越多的重视。因此,对处于演进阶段的软件系统进行性能分析的理论和技术的研究 既是现实的又是迫切的,其成果可以广泛应用于电信,金融,电子商务等各个领域r r 系 统的规划和评测。本文以排队理论为基础,构建了一个软件系统性能分析的模型,利用数 学分析给出了性能指标的定量解,最后给出了进行性能分析的可操作步骤。 本文描述了软件系统信息传输和处理的层次逻辑模型,分析了影响系统性能的要素。 在此基础上,详细刻画了排队系统的逻辑模型,定义了用户行为转移概率与系统排队模型 中请求处理在服务器间转移的关系式,建立单服务器排队模型和多服务器排队模型,给出 了它们在系统性能分析中适用的场合,并构建了性能分析的数学模型;运用m 伥压c 排队 模型进行了分析求解,给出了系统的稳态队长、请求等待时间和资源利用率等指标的计算 公式,解决了软件系统性能指标的定量计算问题。最后,给出了可操作性强的四个阶段软 件系统性能分析的路线图,通过一个具体实例说明了基于模型的软件系统性能分析和评测 的过程,对多种场景下的响应时间、队长、等待时间、服务器利用率等指标进行了求解和 比较。 关键词:软件系统,排队网络,性能模型 南京邮电大学硕士学位论塞 a b s t r a c t a b s t r a c t t h e r ea r em o r ea n dm o r el l e wm a r k e td e m a n d sa n dn e wt e c h n o l o g i e s ,s os o r w a r es y s t e m s m u s tr e s p o n dt oe v o l v i n gr e q u i r e m e n t s ,p l a t f o r m s ,a n do t h e re n v i r o n m e n t a lp r e s s u r e s i ti s n e c e s s a r yt om a k ep e r f o r m a n c ea n a l y s i sa n do p t i m i z a t i o no ns o r w a r es y s t e mi no r d e rt o i m p r o v ei t sq u a l i t yo fs e r v i c ea n dd e c r e a s ei t so p e r a t i o n a lc o s t h e n c e , t h er e s e a r c ho nt h e o r y a n dt e c h n o l o g yo fs o f t w a r es y s t e mp e r f o r m a n c ea n a l y s i si sr e a l i z ea n d 珊移6a n dt h e r e s e a r c ha c h i e v e m e n tc o nd i r o c t l ya p p l i e dt ot h ei ts y s t e mo ft e l e c o m m u n i c a t i o n , f i n a n c i a l , a n de c o m m e r c e b a s e do nq u e u et h e o r ya n dg u i d e db yt h er o u t em a pg i v e nb ya u t h o r , a s o f t w a r es y s t e mp e r f o r m a n c em o d e lh a sb e e nb u i l t ,a n dt h ep e r f o r m a n c em e t r i c sa r ep r e s e n t e d , a n dt h e i rm a t h e m a t i c ss o l u t i o n sh a v eb e e ng i v e n , a n daf l e x i b l ea n a l y s i sa n do p t i m i z a t i o n p l a t f o r m h a sb e e nd e s i g n e d f i r s t l y , t h e 骼s a l c eo fe ci sp r e s e n t e df o rs o f t w a r es y s t e mp e r f o r m a n c ea n a l y s i s ,a n da l o g i cl a y e rm o d e lo ft r a n s m i t t i n ga n dp r o c e s s i n gi n f o r m a t i o ni ns o r w a r es y s t e mw a sd e s c r i b e d , k e yi t e m se f f e c t i n gs o f t w a r es y s t e mp e r f o r m a n c ew e r ea n a l y z e d s e c o n d l y , t h el o g i cm o d d so fq u e u ei ns o f t w a r es y s t e mw e r ed e p i c t e di nd e t a i l ,t h e r e l a t i o nf o r m u l a sb e t w e e nt h et r a n s i t i o np r o b a b i l i t yo fu s e rb e h a v i o ra n dt h et r a n s i t i o n p r o b a b i l i t yo fr e q u e s ta m o n gs e r v e r 8w a sd e f i n e d s e v e r a lq u e u em o d e l sw e r eu n i f i e do nt h e m o d e l so f p a r t i a ls o lv e rv a c a t i o n , a n da p p l i e ds c e n a r i o sw e r eg i v e n f i n a l l y ,ar o u t em a po ns o f t w a r es y s t e mp e r f o r m a n c ea n a l y s i sh a sb e e ng i v e na n dt h e p e r f o r m a n c ea n a l y s i sc a nb ec a r r i e do u ti n4p h a s e s t h es o f c w a r es y s t e mp e r f o r m a n c em e t r i c s o nb u s i n e s s , u s a b i l i t y ,c l i e n ta n ds e r v e rw e r es u m m a r i z e d t h ec o u r s eo fs o r w a r es y s t e m p e r f o r m a n c ea n a l y s i si sc o n c r e t e l yi l l u m i n a t e db ya no n l i n eb u s i n e s so f f i c ee x a m p l e ,i nw h i c h t h ep e r f o r m a n c em e t r i c si nd i f f e r e n ts c e n a r i o ss u c ha sr e s p o n s et i m e ,q u e u el e n g t h ,w a i t i n gt i m e e r e w e r es o l v e do u t ,a n dm e i rc o m p a r i s o n sw e r em a d e k e yw o r d s :s o f t w a r es y s t e m , q u e u m gn e t w o r k , p e r f o r m a n c em o d e l lllllllllll , 南京邮电大学硕士学位论文 目录 目录 a b s t r a d i i 目j 录i i i 第一章绪论。l 1 1 课题研究的背景和意义1 1 2 国内外的研究现状2 1 2 1 测量法2 1 2 2 原型仿真法2 1 2 3 模型分析法3 1 3 研究思路及内容3 1 4 主要创新点。4 1 5 论文组织架构4 第二章软件演进与软件性能5 2 1 软件演进5 2 1 1 软件演进的概念5 2 1 2 软件演进阶段的特点5 2 2 软件性能6 2 2 1 软件性能指标。6 2 2 2 影响性能因素分析7 2 3 软件性能工程9 2 3 1s p e 建模策略1 0 2 3 2s p e 过程1 0 2 3 3 模型分析:1 2 2 3 4 系统执行模型1 3 2 4 本章小结1 5 第三章排队论基础1 6 3 1 排队论简介1 6 3 1 1 输入过程1 7 3 1 2 排队规则1 7 3 1 3 服务机构1 8 3 1 4 排队系统的指标1 8 3 2m m c 队歹l i 瞄u j 1 9 3 3 排队网络2 0 3 4 排队论的几个重要定理2 1 3 5 本章小结。2 3 第四章软件性能模型2 4 4 1 信息传递和处理的层次模型2 4 4 2 信息传递和处理的过程2 6 4 3 随机服务排队模型的构建2 7 4 4 单服务器排队模型2 9 4 5 多服务器排队模型3 1 4 6 用户功能的逻辑模型3 4 4 6 1 系统的基本功能3 4 m 厶 南京邮电大学硕士学位论文 目录 4 6 2 用户行为模型3 4 4 6 3 功能与服务器的关系3 5 4 7 本章小结3 7 第五章软件性能模型应用3 8 5 1 基于模型的性能分析步骤3 8 5 1 1 业务分析3 8 5 1 2 资源分析4 2 5 1 3 负载分析4 3 5 1 4 模型分析4 5 5 2 实验及结果分析。5 1 5 2 1 实验方法说明5 1 5 2 2 实验用例说明51 5 2 3 实验环境说明5 l 5 2 4 程序结构流程图5 2 5 2 5 核心代码5 2 5 2 6 实验结果分析5 3 5 3 本章小结5 5 第六章结束语5 6 6 1 论文总结5 6 6 2 研究展望。5 6 ;改谢! ;8 参考文献5 9 论文录用情况6 1 参与项目情况6 2 i v 南京邮电大学硕士研究生学位论文 第一章绪论 第一章绪论 对于大多数大型应用软件系统来讲,用户需求和业务的迅速发展和更替要求软件具有 快速适应变化的能力。一方面由于产业和经营环境的发展、市场的培育以及客户消费行为 的改变是一个渐进的过程,另一方面新技术的发展和采用也不是一蹴而就的。企业业务发 展的重点和策略将配合这些外部因素而转变,许多新业务是在原有业务上的延伸和完善, 业务支撑系统需要在支持原有业务的基础上通过改造实现逐步演进。 同时,随着系统规模和复杂度的提高,软件质量问题越来越被人们所关注,已经成为 影响企业生存和发展的重要因素。软件质量不仅包含了软件功能特性还包含了软件的易用 性、快速响应性、最大容量等性能特性。当前保证软件质量的主要手段就是软件测试,但 是由于传统软件工程重视功能轻视性能的观点,软件的功能测试无论是理论、工具、实践 都发展的相对成熟,而性能测试一方面得不到足够的重视,另一方面缺少相应的理论支持 而发展较为缓慢。因此,如何保证软件演进中的质量成为了一个重要课题。 1 1 课题研究的背景和意义 在当前的软件开发领域普遍存在着这样的思想:“先让系统运行起来,然后让它转的 更快”,就是先实现正确的功能,然后再调节性能。在这种思想的影响下,软件业的性能 测试普遍存在下面几种情况:1 ) 对性能测试重视不够,往往是在完成功能测试后才进行性 能测试;2 ) 性能指标的确定缺乏科学依据,往往是某个人拍脑袋想出来的;3 ) 软件的使用 环境和软件测试环境有较大差异,在测试环境下实现的性能指标对使用环境上的性能指标 的反映程度并不确定;4 ) 软件的演进扩展和性能优化缺乏必要的定量数据支持。出现这些 情况的根本原因在于性能测试的理论滞后于性能测试的实践,软件测试人员在工作时缺乏 相应的理论支持,很多行为都是在想当然。 性能是每个软件的基本质量属性,性能失败往往会影响客户关系、导致业务失败、追 加额外的项目资源,最终削弱企业的竞争力。在现实的工作中常有测试环境下运行良好的 软件投入生产时却发生性能失败的案例,因此,即使完成了测试环境下的功能测试,在软 件转移到生产环境之前有必要进行有效的、准确的性能测试。 软件维护和演进阶段的特殊性对性能评测工作提出了新要求。由于软件的开发测试环 境与实际生产环境存在差异,软件在开发环境下的运行情况与实际运行环境下的运行也不 完全一致,所以开发测试环境下的性能表现并不能完全代表软件在生产环境下的性能表 南京邮电大学硕士研究生学位论文第一覃绪论 现。而当前,一方面对性能评测的重视程度不够,另一方面现行性能评测方法的有效性、 准确性、便捷性等方面都存在不足,有很大的研究空间。 1 2 国内外的研究现状 计算机系统性能评价的目的在于构建能够符合性能目标的软件系统。首先通过在软件 开发的前期建立软件的性能模型,对模型进行初步求解,从而及时发现软件系统中潜在的 性能问题。然后通过修改软件的设计,解决性能瓶颈,从而使最终的系统能够满足性能需 求。 对软件进行性能评价最重要的步骤是构建能够恰当反映软件系统行为和系统资源使 用状况的软件性能模型。性能模型中一般包含一些必要的系统性能参数。通过求解性能模 型便可得出一些初步的性能结果。如系统的平均等待时间( 响应性) 、吞吐量、资源利用 率等。如何由软件模型构造出好的性能模型一直是学者们研究的热点。一方面软件的体系 结构多种多样,千差万别,很难将各种体系结构的软件用某种模型统一的,完善的表达出 来。另一方面,用于系统性能评价的性能模型也不止一种,它们各有优缺点,很难用某一 种模型替代所有其他的模型。可以说,能否准确、有效地建立软件的性能模型决定了软件 性能评价的正确性、准确性。 目前用于研究软件系统性能的方法主要包括测量法,原型仿真法和模型分析法。 1 2 1 测量法 通过一定的测量设备或测量程序可以直接从计算机系统测得各项性能指标或与之密 切相关的度量,然后由它们经过一些简单的运算求出相应的性能指标。这是最直接也是最 基本的方法,其它方法在一定程度上也要依赖于测量法。但是这种方法只能适用于已经存 在并运行的系统,而且比较费时间。测量方案和测量手段是测量方法的关键。测量的内容 主要集中在网络,服务器和用户三个层面上。目前测量法主要被用来获得系统的一些指标, 而这些指标可以用在其他的性能评价方法中作为模型的参数。 1 2 2 原型仿真法 仿真方法是用一个程序动态地模拟一个系统及其负载。一般首先使用仿真语言来为系 统建立模型,然后在模拟时,通过用负载驱动系统模型从而得出模型的性能指标。 软件系统往往庞大而复杂,构造一个能够完整反映系统行为的仿真模型的工作量非常 大,成本很高。因此仿真法大都局限在某一具体技术层面上,用来分析与验证某一技术对 2 南京邮电大学硕士研究生学位论文 第一覃绪论 性能的影响。另外,原形仿真法还有一个不足之处是不能清楚地反映出系统中各参数之间 的关系。 1 2 3 模型分析法 基于模型的软件性能分析最早由c u s m i t h 提出来的,s m i t h 由此创立了软件性能工 程( s o f t w a r ep e r f o r m a n c ee n g i n e e r i n g ,简称s p e ) 。s p e 是一种系统的、定量的方法,用于 构建能够符合性能目标的软件系统,其将模型、硬件环境、软件功能等作为元素,构建模 型,进行性能评估与分析,软件性能工程既不是一种新方法也不是一种革命性的方法,它 对软件性能的测试的侧重点在于软件开发周期的前期,使用已经验证的技术来预测正在形 成的软件性能,在软件生命早期的性能测试能够最大程度地避免因为性能瓶颈所带来的损 失。 g e o r g em a s o n 大学的m e n a s c 七( 2 0 0 0 - 2 0 0 1 ) 在w e b 系统和e c s 系统性能分析方面都做 了很多开创性的工作【5 ,6 刀,运用经典排队理论,探讨了软硬件资源对系统性能的影响,尤 其是考虑了软件的特性对系统性能的影响,提出解决峰值负载工程方法。基于s e s s i o n 的 概念可以将系统用户的行为与商务软件的功能相结合,为刻画系统性能的细节奠定了基础 【2 5 l 在国内,2 0 0 2 年中科院计算所的雷英春,李国杰等对基于d i s p a t c h e r 5 的w e b 集群的 调度策略进行了性能定性分析和测量分析【8 一。2 0 0 5 年,浙江大学的赵隽琪通过采用单队 列和封闭网络模型,对基于i b mw e b s p h e r e 构建的系统针对软件的竞争对系统性能的影 响进行了分析和模拟【2 引。 1 3 研究思路及内容 本文通过研究典型的软件系统架构和工作原理以建立分析模型;学习排队论和排队网 络的概念和理论,掌握将计算机系统抽象成排队模型的过程,和通过求解排队模型评价计 算机系统性能的方法;学习s m i t h 的软件性能工程,以用系统的、定量的方法根据分析目 标建立性能模型,并加以分析和求解。 研究的内容主要体现在以下几点: ( 1 ) 研究典型软件系统信息传递和处理的一般过程、特点和规律。使得研究更真实地反 映实际情况,研究成果也具有更广泛的应用价值。 ( 2 ) 构建系统的用户功能的逻辑模型,将用户行为加入到性能分析当中,使得模型对系 统刻画的更完整。 3 南京邮电大学硕士研究生学位论文第一苹绪论 ( 3 ) 为系统建立数学分析模型,应用单服务台和多服务台的排队思想,对单服务器排队 和多服务器排队等多种场景进行分析,力图建立一个适用的、完整的、统一的系统性能分 析模型。 ( 4 ) 为软件系统性能分析与预测提供了具有可操作性能的4 步路线图,包括:业务分析 阶段、资源分析阶段、负载分析阶段、模型分析阶段,为软件系统的性能指标分析提供了 一套科学的、较完整的和可操作的定量分析方法。 1 4 主要创新点 本文的主要创新点有: ( 1 ) 将用户行为的分析加入到软件系统的性能分析中,建立用户行为模型,为分析性能 模型提供了更为精确的参数; ( 2 ) 提供了进行软件系统性能分析的具有可操作性的步骤,包括业务分析、资源分析、 负载分析、性能分析四步。 1 5 论文组织架构 本文的组织结构如下: 第一章:主要介绍了对软件系统进行性能建模分析问题的提出、以及其目的和意义。 分析了当前国内外对软件系统进行性能建模与评价的研究现状。并对本文的工作路线进行 了总结。 第二章:主要介绍了软件演进阶段的概念和特点,软件性能的内涵和重要性,软件性 能工程的基础理论和方法。 第三章:介绍了排队论和排队网络的基本理论,介绍几个重要的定理,为后面章节的 分析提供理论工具。 第四章:从性能的角度,描述了信息传输和处理的层次逻辑模型,给出了影响性能的 要素;通过建立用户功能逻辑模型与随机服务系统的映射关系,自然地描述了排队系统的 要素和性能指标。 第五章:提出了具有可操作性的软件系统性能分析的4 步路线图,结合网上营业系统 的例子做了具体操作方法的说明,并在实验室环境下对分析方法的有效性做了验证。 第六章:总结了文章的主要贡献,并提出进一步的研究内容。 4 南京邮电大学硕士研究生学位论文第二章软件演进与软件性能 2 1 软件演进 第二章软件演进与软件性能 在传统的软件工程中,软件生命周期概念所强调的是从问题提出到软件提交的整个开 发过程的重要性,而对于提交使用之后的软件变化过程往往只采用“软件维护 加以简单 概括。这样一种软件生命周期概念对于处于静态封闭环境下的软件系统的开发是合适的, 但对处于i n t e m e t 上的开放、动态和多变环境下网构软件系统的开发则有局限性。对网构 软件系统来说,系统提交之后的动态的自适应性和演化性是其基本特征。因此,对运行阶 段之后的演化过程的关注是必需的,甚至显得更为重要。网构软件系统所呈现的是一个不 同于传统生命周期概念的“大生命周期概念,目前,围绕这种新的生命周期的相关理论、 方法和技术基本还处于起步阶段。 2 1 1 软件演进的概念 软件演进【3 1 ( s o r w a r ee v o l u t i o n ) 指在软件系统的生命周期内软件维护和软件更新的 动态行为。在现代软件系统的生命周期内,演化是一项贯穿始终的活动,系统需求的改变、 功能实现的增强、新功能的加入、软件体系结构的改变、软件缺陷的修复、运行环境的改 变无不要求软件系统具有较强的演化能力,能够快速适应改变,减少软件维护的代价。 从软件演化的概念来看,软件演化和软件维护有着密切联系,但软件维护是对现有的 已交付的软件系统进行修改,使得目标系统能够完成新的功能,或是在新的环境下完成同 样的功能,主要是指在软件维护期的修改活动。而软件演化则是着眼于软件的整个生命周 期,从系统功能行为的角度来观察系统的变化,这种变化是软件的一种向前的发展过程, 主要体现在软件功能的不断完善。在软件维护期,通过具体的维护活动可以使系统不断向 前演化。因此,软件维护和软件演化可以归结为这样一种关系:前者是后者特定阶段的活 动,并且前者直接是后者的组成部分。 2 1 2 软件演进阶段的特点 首先,在软件演进阶段已经有一个可以正常运转的软件系统,在长期的维护和测试过 程中积累了大量的经验数据。我们可以知道用户的使用习惯,比如对各种业务的请求概率, 及请求间的转移,以此可以建立用户行为模型;可以知道用户请求与系统的资源之间的关 系,以此建立系统资源模型;可以知道服务器对某类请求处理的时间的大致分布等,因此 s 南京邮电大学硕士研究生学位论文 第二章软件演进与软件性能 这个阶段积累了大量的信息来建立系统的性能模型。 再者,软件演进阶段,系统的变更较为频繁,如果事先不做好规划,可能会导致代码 堆积重复等问题,更有甚者可能系统容量不够不能满足需要或者资源配置过高导致浪费等 问题。因此,做好性能分析和预测,对于系统的资源和容量做到心中有数非常重要。 2 2 软件性能 软件的性能是一个很大的概念,覆盖面非常广泛。对于一个软件系统而言,包括执行 效率,资源占用,稳定性,安全性,兼容性,可扩展性,可靠性等等【1 7 1 。 从用户角度来看,软件性能就是软件对用户操作的响应时间。而从管理员的视角看, 软件性能包括系统响应时间,系统运行时状态,例如c p u 利用情况,内存使用情况等, 系统是否支持扩展,系统支持多少用户访问等等。大型企业应用的软件系统,业务比较复 杂、用户数很多、存在并发情况、业务的响应时间、操作的实时性、稳定性、安全性、可 恢复性等要求都很高。所以软件性能和软件功能对于一个成功的软件系统来讲同等重要。 2 2 1 软件性能指标 软件性能指标是进行性能测试的依据,也是评价系统性能的依据。就软件运营商和最 终用户的关注点来看,软件性能指标主要包含两个层次:客户端性能指标,服务器端性能 指标。 2 2 1 1 客户端性能指标 ( 1 ) 响应时间( r e s p o m ed e l a y ) :客户端的响应时间,是一个客户请求从建立网络连接 到请求的信息传送完毕,应答结束,拆除网络连接之间的时间,在不同的时刻这个响应时 间各不相同。 ( 2 ) 平均响应时f 司( m e a nr e s p o n s ed e l a y ) :通常指一个测试集中的所有请求的应答延时 的平均值,侧重于评价系统的平均性能;在排队性能模型是系统处于稳态时响应时间的期 望值,是请求经历所有步骤所花费的时间之和,如4 2 节所示。 7 窖乃牛功手m 乃手刃叠+ 刀 根据性能模型中每个部件的平均响应时间就可以得客户端的响应时间。 ( 3 ) 首次应答时间( f i r s tr e s p o n s ed e l a y ) :指一个请求从客户端提出,建立网络连接到 请求的信息的首次出现在客户端的时间,即第一个h t t p 信息包的内容显示在客户端的时 间。 2 2 1 2 服务器端性能指标 6 南京邮电大学硕士研究生学位论文 第二荦软件演进与软件性能 服务器端性能主要是评价软件系统中各资源的性能,主要性能指标有: ( 1 ) 吞吐率:在非空闲状态下,系统在单位时间内响应的请求的个数。所谓非空闲时 间状态就是指在计算吞吐率时只考虑系统负载不为零的时间段; ( 2 ) 系统容量:在非空闲状态下,系统单位时间内能够响应的最大请求数,即吞吐率 的最大值; ( 3 ) 系统带宽:系统在单位时间内传输的最多字节数,它侧重描述系统中与传输部分 有关的性能; ( 4 ) 可达请求率:单位时间内能够被服务器端接受的请求数,也是请求到达服务器端 的到达率; ( 5 ) 服务率:各服务器单位时间内服务完成的请求个数; 【6 ) 资源的利用率:网络带宽的利用率、w e b 服务器利用率、业务服务器利用率数据 库服务器利用率; ( 7 ) 平均响应时间:包括系统的响应时间、各服务器的响应时间; ( 8 ) 等待时间:在系统中总的等待时间、在各服务器的等待时间; ( 9 ) 系统队长:进入到系统的总的请求数,包括正在各个资源处处理和排队等待的请 求; ( 1o ) 各资源的队长:停留在w e b 服务器、业务服务器、数据库服务器等资源处的请求 数; ( 1 1 ) 排队等待率:请求不能被立即服务的概率。 尽管这些性能指标对于不同的性能分析模型有不同的计算公式,但是关键的指标参数 是请求的到达率、服务率、响应时间,有了这三个参数很容易计算出其它性能指标值。 2 2 2 影响性能因素分析 可以说构成软件系统的任何一部分都对系统的性能产生影响,归纳一下,影响软件系 统性能的主要因素包括:硬件、网络、操作系统等。 2 2 2 1 硬件性能 软件系统是建立在硬件之上的,因此,对于任何一个系统来说,硬件性能都是决定系 统性能的一个关键因素。一般来说,主机硬件配置越高,那么它的处理速度越高,对外表 现出来的性能也就越高。当然,当主机配置性能达到一定程度之后,系统性能不会无限制 提升,其它方面的瓶颈则造成了影响主机性能的关键因素。另外,影响主机性能的因素很 多,主要包括中央处理器c p u ,系统内存大小,系统缓存大小,磁盘空间容量等等。 7 南京邮电大学硕士研究生学位论文 第二章软件演进与软件性能 在考虑主机性能因素的同时,还必须考虑成本,操作难易程度等因素,因为对于一个 实际运行的大型软件系统来说,很可能没有条件或者没有办法实现频繁地升级更新系统。 因此,必须在开始规划组建一个软件系统的时候,就根据实际条件,配合软件、网络等其 它外围环境慎重地选择合适的硬件配置,以适应当时以及后续发展的需要。 2 2 2 2 网络性能 软件系统在绝大多数情况下需要依赖于网络,研究网络特性对于软件系统性能的影响 对于研究整个软件系统具有重大意义。网络特性技术指标主要包括【1 3 】: ( 1 ) 吞吐量( t h r o u h p u t ) :在不发生报文丢失的情况下,被测设备可以支持的最大报文转 发速率。吞吐量是网络互联设备最重要的性能指标之一。 ( 2 ) 延迟( 1 a t e n c y ) :在被测设备的吞吐量范围内,测试报文通过被测对象所需的时间。 被测设备中延迟的产生有以下因素:设备中线路上的传输时间,设备中的处理时间,和设 备队列中的排队延迟。前两个因素的影响基本是固定的,而第三个因素对每个报文的延迟 影响有很大的不同,由于不同报文的延迟不同( 主要受报文长短的影响) ,因此延迟的测 量值为一个统计结果。 ( 3 ) 丢包率( p a c k e tl o s sr a t e ) :在固定负载的情况下,由于缺少资源导致的丢弃报文所占 的比例。而报文丢失率的测试主要在网络过载的情况下进行,测试报文丢失率时,负载速 率应该在吞吐量到线速之间。 ( 4 ) 背靠背帧数( b a c k - t o - b a c kf r a m e ) :在最大速率下,在不发生报文丢失前提下被测 设备可以接收到的最大的突发报文长度。背靠背性能反映网络设备对于突发报文的容纳能 力。它主要和以下一些因素有关:网络设备内部缓存的大小,网络设备入、出端口之间的 速率差,网络设备转发能力的大小,网络设备交换网络的调度算法等。 ( 5 ) 系统恢复时f 司( s y s t e mr e c o v e r y ) :设备在过载后恢复正常工作的时间。 影响网络性能的因素很多,比如网卡和交换机的优劣性能就直接对其有影响。这里讨 论与设备无关的情况,即讨论的情况具有一般性。 ( 1 ) 网络拓扑结构的影响 网络拓扑结构的选择要考虑网络的适应性、可靠性和可扩充性。一般而言,总线、树 型最为灵活,总线、树型拓扑能适应较大范围。环形拓扑有提供最大吞吐量的潜力,缺点 是部分故障易使整个网络瘫痪。星形网络优点是自然布线,适用于短距离、设备数量不太 多的情况,能实现数据高速传输。另外,传输媒体与拓扑类型是相互关联的。媒体的选择 需要考虑系统容量、可靠性、地理覆盖范围和适用环境等。 , ( 2 ) 网络协议的影响 8 南京邮电大学硕士研究生学位论文第二章软件演进与软件性能 网络协议对局域网的性能影响很大。组建一个局域网首先要确定采用支持哪一种协议 的产品。不同协议各有优缺点,一般而言,总线型网有着较好的交互性能,而环形网能满 足大的吞吐量的要求。 ( 3 ) 其它因素的影响 其它因素包括稳定性、公平性、坚定性、故障模式、延迟变化范围网络使用高峰时的 负载情况、网络的配置状态、路由节点的c p u 类型、缓冲区的数量和大小、入网报文的 到达率、主机要处理的网络以外工作的优先级等。 2 2 2 3 操作系统 操作系统是对裸机的第一层软件,是对机器的第一次扩展,为用户提供了一台与实际 硬件等价的虚拟机,它管理系统资源,相互竞争的程序之间有序地控制对处理器、存储器 以及其他i 0 接口设备的分配,并为程序开发提供接口。操作系统组织管理计算机系统的 工作流程,使之能为多个用户提供安全高效的计算机资源共享。操作系统为计算机系统功 能扩展提供了支撑平台,使硬件系统与应用软件产生了相对独立性,可以在一定范围内对 硬件模块进行升级和添加新硬件,而不会影响原先应用软件。所以我们的应用软件是通过 操作系统来控制底层硬件的,很明显,操作系统的对资源管理调度的性能直接影响软件系 统的性能。 2 3 软件性能工程 软件性能工程【l t l ( s o f l w a r ep e r f o r m a n c ee n g i n e e r i n g ,s p e ) ,是一种系统的、定量的方 法,用于构建能够符合性能目标的软件系统,是关于性能的一种工程方法,避免了性能驱 动的开发和“以后修正”方法的两个极端。s p e 通过模型预测评估软件功能、硬件规模、 质量结构和资源需求之间的平衡点。 s p e 是一种面向软件的方法,重点在于体系结构、设计和实现的选择。这种方法使开 发人员有能力选择具有可接受性能特征的体系结构和设计方案,帮助他们进行资源需求控 制。s p e 模型有助于在整个开发过程中跟踪性能、防止在生命周期的后期( 一般在最后的 测试阶段) 出现问题。 已经发现,利用s p e 有可能以高的成本收益设计出满足性能目标要求的软件系统。通 过在整个开发和集成过程中认真地应用s p e 技术,有可能使新系统具有足够性能的同时 表现出其他一些使得面向对象技术行之有效的质量特征,诸如可复用性、快速部署和高可 用性。应用s p e ,应当能在开发初期回答如下问题: 用户是否能够在规定时间内完成任务7 , 9 南京邮电大学硕士研究生学位论文第二章软件演进与软件性能 硬件和网络能够支持负载吗? 1 关键任务期望的响应时间是多少? 系统规模需要扩展以适应未来需要吗? 2 3 1s p e 建模策略 s p e 适应建模策略来快速获取结果、消除对软、硬件资源使用率进行评估时产生的误 差并控制成本。 简单模型策略:简单模型策略将s p e 的工作转化为对目标软件性能的快速反馈。从最 简单的可用模型开始,识别系统体系结构、设计或实现计划中的问题。早期的s p e 模型 易于构建和解析,提供目标软件是否能达到性能目标的反馈信息。这些模型足以用来明确 项目体系结构或初期设计阶段中的问题,因为它们易于构建和评估,所以可以轻松地用来 评估许多可选方案。此后,随着对软件中更多细节和认识,可以构建并解析更实际( 而复 杂) 的模型。 最佳和最差情况策略:模型依赖于软件执行的资源需求评估值。模型结果的精确度取 决于评估结果的质量。但是,在软件开发初期,对软件细节的了解是粗略的,而且很难精 确地评估资源需求。正因为如此,s p e 采取适应性策略,如最佳和最差情况策略。 例如,当资源需求有很高的不确定性时,可以使用这些量的上限和下限的估计值。利 用这些估计值,产生对性能的最佳和最差情况的预测。如果预测的最佳情况性能不能令人 满意,则寻求其他可选方案。如果最差情况预测令人满意,就可以充满信心地继续开发过 程的下一步。如果结果介于二者之间,通过模型分析,确定出哪些资源估计值有最大影响 的关键构件,然后把重点放在获取这些构件更准确的数据上。 有多种技术可以提供更准确的资源统计,包括:深度优化设计和构建更详细的模型, 或者构建关键构件的原型或实现它并测量其资源需求。 适应精确策略:如简单模型策略的阐述,简单模型适用于生命周期早期的研究。在开 发过程的后期,s p e 使用适应精确策略。 2 3 2s p e 过程 ( 1 ) 评估性能风险 在项目开始时进行性能风险评估可以了解在s p e 中需要投入多少工作量。如果这个项 目与过去开发的其他项目相似,对于任务或剩余财力不是至关重要,对计算机和网络的用 量最少,那么s p e 花费的工作可能最小。否则,s p e 需要付出更多的工作量。 l o 南京邮电大学硕士研究生学位论文第二章软件演进与软件性能 ( 2 ) 确定关键用例 、 关键用例是那些对系统操作有重要影响,或者对用户看到的相应特性有重要影响的用 例。选择关键用例依靠风险驱动。要在存在风险的地方寻找用例,如果达不到性能目标, 系统就会失败或至少不是成功的。 ( 3 ) 选择关键的性能场景 从性能方面看,不可能每个关键用例的所有场景都重要。对每个关键用例,关键性能 场景是那些经常被执行或者对系统被感知的性能起决定作用的场景,每个性能场景对应一 种负载。使用加入了某些有用的内容的顺序图、扩展图表示场景。 ( 4 ) 建立性能目标 应当为第2 步中选择的每个场景确定并定义性能目标和负载强度。性能目标规定了对 处于开发中的系统的性能特征进行评估的量化标准。性能目标可以用三种主要方法表示: 响应时间、吞吐量或使用资源的约束。对于信息系统,响应时间一般从客户的角度加以描 述,及响应客户请求所需要的秒数。对于实时系统,响应时间是对一个给定的外部事件做 出响应所需要的时间。吞吐量规定为单位时间内处理的事务或事件数量。负载强度规定场 景的使用程度。它们被规定为到达速率( 例如:w e b 网站每小时的点击次数) 或并发用 户数。 ( 5 ) 构造性能模型 用执行图描述性能模型中的软件处理步骤。关键性能场景的顺序图描述转化为执行 图。 ( 6 ) 确定软件资源需求 执行图中的处理步骤通常根据使用的软件资源来描述。软件资源需求捕获对软件有意 义的计算需求。例如,我们可能会规定一个处理步骤中发送的消息数或需要的数据库访问 次数。 对执行图中每一步所需要的处理量的估计是以有关的每个对象的操作规格说明为基 础的。该信息是类图中类定义的一部分。如果是在开发过程的初期完成这个项目,那可能 只是对最佳情况和最差情况的估计。以后,随着每一个类的细化,对处理量的估计将更加 精确。 ( 7 ) 增加计算机资源的需求 计算机资源需求是将步骤6 中的软件资源需求映射为对执行环境中关键设备的服务 需求量。计算机资源需求依赖于软件执行的环境。环境信息可以从u m l 部署图以及其他 文档中获得。计算机资源需求的一个例子是一个数据库访问所需要的c p u 指令数和磁盘 1 l 南京邮电大学硕士研究生学位论文 第二章软件演进与软件性能 i o 数。 注:第6 步和第7 步也可以合并,根据场景中各步骤的操作规格说明直接估计出所需。 要的关键设备的服务需求量。但是,这比用面向软件资源
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保证金协议书
- 艾默生 协议书
- 第12课 有趣的泥塑教学设计小学综合实践活动长春版三年级下册-长春版
- 股权分配协议书
- 个人车库转让协议书
- 宅基也协议书
- 4.2 直线与直线的位置关系说课稿中职数学拓展模块一 (上册)高教版(2021·十四五)
- 影视合作协议书
- 第3课 秦统一多民族封建国家的建立说课稿高中历史必修 中外历史纲要(上)统编版(部编版)
- 1.3 奇妙的图层 说课稿- 粤高教A版初中信息技术八年级上册
- 企业食品安全培训课件
- HPV科普讲堂课件
- 港口设施保安培训知识课件
- 电梯维护保养标准作业指导书
- 煤矿安全生产责任制考核制度和考核标准
- PGL喷雾干燥机性能验证报告
- 医师变更注册管理办法
- 2024年甘肃省临夏县人民医院公开招聘护理工作人员试题带答案详解
- 网络安全防护策略与加固方案报告模板
- 新产品开发流程及管理制度
- “一网统管”在城市治理协同中的障碍与解决路径研究
评论
0/150
提交评论