(计算机应用技术专业论文)基于lqn模型的web应用系统性能分析方案研究.pdf_第1页
(计算机应用技术专业论文)基于lqn模型的web应用系统性能分析方案研究.pdf_第2页
(计算机应用技术专业论文)基于lqn模型的web应用系统性能分析方案研究.pdf_第3页
(计算机应用技术专业论文)基于lqn模型的web应用系统性能分析方案研究.pdf_第4页
(计算机应用技术专业论文)基于lqn模型的web应用系统性能分析方案研究.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)基于lqn模型的web应用系统性能分析方案研究.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于l q n 模型的w e b 应用系统性能分析方案研究 摘要 随着软件开发技术迅速发展,w e b 应用系统的复杂性在急剧上升,对性能 测试、分析、预测的要求越来越高。性能的好坏已经成为w e b 应用系统成败的 关键因素之。 传统的软件工程中,并没有将性能分析集成到软件开发的全过程中去,组 建w e b 应用系统主要依靠工程人员的直觉和经验来完成。由于缺乏专门的系统 性能建模和分析过程,组建的系统完善与否,性能高低,取决于设计者水平的 高低。随着w e b 应用系统复杂度越来越高,w e b 技术不断推陈出新,以及人们 对软件性能的要求越来越高,即使采用“亡羊补牢”的做法,也收效甚微,甚 至难以达到系统既定的性能目标,为此,深入研究w e b 应用系统的性能建模和 性能分析方法成为当务之急。 本文提出了一个w e b 应用系统时间、资源特征评价指标体系;通过研究现 有的性能分析方法和性能模型技术,提出了一种基于分层排队网络( l q n ) 模型 的性能分析方案;研究了该方案涉及的关键技术。该方案期望在系统开发的早 期对性能进行评估;在不满足性能目标的情况下对系统的性能问题进行定位, 发现性能问题以帮助改进设计。文章最后将该方案应用于实际项目“淮北煤矿安 全管理信息平台”的时间、资源特征分析,对提出的性能分析方案具有的可行性 进行了验证。 关键词:性能分析,指标体系,性能模型,分层排队网络,w e b 应用系统 r e s e a r c ho np e r f o r m a n c e a n a l y s i ss o l u t i o no fw e ba p p l i c a t i o n s y s t e mb a s e do nl q nm o d e l s a b s t r a c t w i t ht h e r a p i dd e v e l o p m e n t o fs o f t w a r e d e v e l o p m e n tt e c h n o l o g i e s ,t h e c o m p l e x i t yo fw e ba p p l i c a t i o n sh a v eas h a r pi n c r e a s ei nt h ep e r f o r m a n c et e s t i n g , a n a l y s i sa n dp r e d i c t i o n ,a tt h es a m et i m ed e m a n d si n c r e a s i n g l yh i g h t h eq u a l i t yo f t h ep e r f o r m a n c eh a sb e c o m eo n eo ft h ek e yf a c t o r so fw e ba p p l i c a t i o n s i nt r a d i t i o n a ls o f t w a r ee n g i n e e r i n g ,t h ep e r f o r m a n c ea n a l y s i sw a sn o ti n t e g r a t e d i n t ot h ew h o l ep r o c e s so fs o f t w a r e d e v e l o p m e n t ,a n dt h ef o r m a t i o no fw e b a p p l i c a t i o ns y s t e m sr e l y e do ni n t u i t i o na n de x p e r i e n c eo fe n g i n e e r st oc o m p l e t e b e c a u s eo ft h el a c ko fas p e c i f i cs y s t e mp e r f o r m a n c em o d e l i n ga n da n a l y s i s p r o c e s s ,t h ef o r m a t i o no ft h es y s t e mi sp e r f e c to rn o t , a n dt h ep e r f o r m a n c ei sh i g h o rl o w ,d e p e n do nt h ed e s i g n e r st e c h n o l o g i e s w i t ht h e c o m p l e x i t yo fw e b a p p l i c a t i o ns y s t e m si sg e t t i n gh i g h e ra n dh i g h e r ,w e bt e c h n o l o g yi n n o v a t i o n ,a s w e l la st h ep e r f o r m a n c eo ft h es o f t w a r eh a v eb e c o m ei n c r e a s i n g l yd e m a n d i n g ,t h e r e i sl i t t l ee f f e c te v e ni ft h e ”f i xi nl a t e r ”a p p r o a c h ,a n de v e nd i f f i c u l tt oa c h i e v e e s t a b l i s h e dp e r f o r m a n c eo b j e c t i v e s ,t ot h i se n d ,d e p t h s t u d yo fw e ba p p l i c a t i o n s s y s t e mp e r f o r m a n c em o d e l i n ga n da n a l y s i sm e t h o d si sb e c o m i n gi m p e r a t i v e i nt h i sd i s s e r t a t i o n ,w ee s t a b l i s h e das e to ft i m ea n dr e s o u r c ee v a l u a t i o ni n d i c e s o fw e ba p p l i c a t i o ns y s t e m a f t e r w a r d ,ap e r f o r m a n c ea n a l y s i ss o l u t i o nb a s e do n l q n m o d e l sw a sp r o p o s e db ys t u d y i n gt h ee x i s t i n gp e r f o r m a n c ea n a l y s i sm e t h o d s a n dp e r f o r m a n c em o d e l i n gt e c h n i q u e s ,t h ep a p e ra l s or e s e a r c hs o m ek e yt e c h n i q u e s o ft h es o l u t i o n t h es o l u t i o na i m e da ta s s e s s i n gt h ep e r f o r m a n c eo fs y s t e ma tt h e e a r l yp h a s ed u r i n gt h es o f t w a r ed e v e l o p m e n tp r o c e s s ,a n dw h e nt h ep e r f o r m a n c e t a r g e t sd o e sn o tm e e t ,l o c a t i n ga n df o u n d i n gt h ep e r f o r m a n c ep r o b l e mi no r d e rt o h e l pi m p r o v et h ed e s i g n f i n a l l y , t h es o l u t i o nw a sa p p l i e dt ot i m ea n dr e s o u r c e a n a l y s i so ft h ep r a c t i c a lp r o je c t ”h b c m s m i s ”,s u b s e q u e n t l yt h ef e a s i b i l i t yo ft h e s o lu t i o nw a sv e r if i e d k e y w o r d s :p e r f o r m a n c ea n a l y s i s ,i n d i c e ss y s t e m ,p e r f o r m a n c em o d e l ,l q n ,w e b a p p l i c a t i o ns y s t e m 插图清单 图2 1u m l 扩展的标准框架1 3 图2 2 通用资源模型框架结构1 4 图2 3 时间领域模型结构一1 6 图2 4 性能分析领域模型1 6 图2 5 性能规则和通用资源模型间的关系1 7 图2 6q n 模型l8 图2 7q n 模型例图1 9 图2 8 一个w e b 应用的l q n 模型2 3 图3 1w e b 应用系统时间、资源特征评价指标体系。2 5 图3 2w e b 应用系统性能分析方案3 l 图3 3 基于性能建模的性能分析过程3 3 图4 1u m l 模型结构映射为l q n 3 9 图5 1 新闻管理模块结构图4 6 图5 2n e w sm o d i f y 序列图4 8 图5 3 新闻管理的s p t 部署图4 9 图5 4n e w sm o d i f y 部署图4 9 图5 5n e w sm o d i f y 活动图5 0 图5 6n e w sb r o w s e r 活动图5 0 图5 7n e w sr e l e a s e 活动图5 1 图5 8s c e n a r l 0 1 的l q n 模型5 3 i i l 表格清单 表4 。lu m l 协作图添加代码3 6 表4 2u m l 协作图添加代码3 7 表4 3u m l 部署图添加代码3 7 表4 4l q n 的x m l 格式3 8 表5 1 场景步骤5 l 表5 2 性能分析场景j 5 2 表5 3 系统资源5 3 i v 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所 知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果, 也不包含为获得 金壁王些盔堂 或其他教育机构的学位或证书而使用过的材料。与我一同 工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:彳递乡哥签字日期:a 咖7 年妒2 ,日 学位论文版权使用授权书 本学位论文作者完全了解金g 垦王些太堂有关保留、使用学位论文的规定,有权保留并向国 家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权金照王些太堂可 以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手 段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:防 签字吼岬钥z 日 学位论文作者毕业后去向: 工作单位: 通讯地址: 确旷吻 柳r 卜 电话: 邮编: 致谢 衷心感谢我的导师袁兆山教授在学习和科研上对我的悉心指导和帮助,感 谢他在生活中对我无微不至的关心,感谢他在做人方面给我的谆谆教诲。袁老 师以他在软件工程领域深厚的理论基础和对研究方向良好的把握,给了我意义 最深刻的指引。袁老师为我提供了良好的工作学习环境的同时,更为我创造了 在理论和实践两个方面都得到锻炼的机会。袁老师认真严谨的治学风范和敬业 精神潜移默化地影响了我,使我受益终生。 感谢在我读研期间给予我无私帮助的老师们,向参与本论文送审、评审和 答辩的老师致敬,感谢他们所付出的辛勤劳动。 感谢我所在的实验室的兄弟姐妹对我的支持、关心和热情帮助。 感谢我的父母和家人在求学期间对我的鼓励。他们的亲情是我一生最宝贵 的财富和精神支柱。 程香 2 0 0 9 年4 月 第一章绪论 1 1 研究背景及意义 随着软件开发技术快速发展、日趋成熟,w e b 应用系统的复杂性在急剧上 升,对性能测试、分析、预测的需求越来越多,同时要求也越来越高。另一方 面,性能方面的把关在软件的质量保证中起着重要的作用,性能的好坏已经成 为w e b 应用系统成败的关键因素之一。据统计,电子商务网站因性能不好而导 致每年有接近4 3 5 亿美元的损失【1 1 。软件性能工程( s p e ) 【2 】是一种系统的、定量 的方法,用于构建能够符合性能目标的软件系统。 w e b 应用软件具有分布式、动态性、异构、并发和平台无关等特性,并且 依赖于众多的因素,如技术、组件、平台、服务器和架构等。同时,w e b 应用 的开发通常采用快速应用开发( r a d ) 方式,开发周期比较短、涉及的技术比较 广,可能缺乏软件开发过程中必要的文档,用户的需求经常变动,页面内容不 断更新。而近几年尽管网络速度得到了很大的提高,但是由于接入i n t e r n e t 的 用户数量增长太快,w e b 服务和硬件设施又存在着固有的延迟,这就使得整个 网络越来越拥挤。这些固有的复杂特性使得w e b 使用过程中存在巨大风险。 性能问题很可能造成软件系统重新设计甚至项目的彻底失败。在软件实现 前对性能进行预测可以极大减小项目风险,因此软件性能工程理论与技术受到 越来越多的重视。软件行业的多个灾难性实例使人们越来越认识到:为了尽力 避免潜在的巨大损失,以性能为代表的非功能属性( n o n f u n c t i o n a lp r o p e r t y , n f p ) 应当受到与功能正确性同等程度的重视,在开发过程中尽可能早的阶段被考虑 到。 传统的软件工程中,并没有将性能分析集成到软件开发的全过程中去,组 建w e b 系统主要依靠工程人员的直觉和经验来完成,由于缺乏专门的系统性能 建模和验证分析过程,组建的系统完善与否,性能高低,取决于设计者水平的 高低。随着w e b 系统复杂度越来越高,w e b 技术不断推陈出新,以及人们对软 件性能的要求越来越高,即使采用“亡羊补牢 的做法,也收效甚微,甚至难 以达到系统既定的性能目标,为此,深入研究w e b 系统的性能建模和性能分析 方法成为当务之急。 如果在w e b 设计开发阶段“先考虑功能,再考虑质量”,在软件实现后再 通过调试修改的方法来解决性能问题,无疑会破坏整个软件设计的构造,并有 可能引入新的错误或问题。软件性能工程化目前正在应用领域得到广泛认同, 并得到发展,已对多种类型软件进行了性能工程化实践。 s p e 是一种面向软件的方法,重点在于体系结构、设计和实现的选择,这 种方法有助于开发人员在软件开发过程中,选择符合性能目标的体系结构和设 计方案,并进行有效的资源需要控制。s p e 使用已经验证的技术来预测正在形 成的软件性能,在能用最少的时间和费用解决问题时对问题作出响应。s p e 的 基本思想就是在软件开发初期对软件系统建立性能模型,通过开发过程中不断 重复的性能评测,反复控制和调整软件设计,使得保证最后实现的软件性能。 软件性能工程为实现软件系统性能的可预见性和可控性奠定了基础。 性能是指软件系统对于其及时性目标的符合程度,主要关注响应时间、吞 吐量及系统可伸缩性。在软件产品最终实现前对性能进行的分析和评价称为性 能预测。理论和实际经验都证明,性能问题大多数是由基本体系结构选择或设 计因素造成的,而不是低效的编码引起的。基于模型的软件性能预测方法一直 是性能预测领域的热点之一。它从软件文档产品出发,根据软件体系结构和设 计信息建立性能模型,通过求解模型对系统的性能进行评价,从而在软件产品 最终实现前得到其对性能目标的满足情况分析。性能预测方法主要分为两类: 通过建立性能模型来对系统性能进行评价;使用测量的办法直接获得软件 系统的性能指标。性能模型可以是基于形式化的数学描述,也可以是基于仿真。 软件性能工程包括一系列涉及数据收集、构建并评估性能模型、验证性能评估 结果等诸多方面的技术。本文通过建立w e b 系统的性能模型来分析和验证系统 性能,期望在开发阶段可以帮助改进现有设计:在产品开发部署完毕后,进行 性能调优和容量规划,发现系统性能问题,寻求较优的控制和解决策略,保证 系统正常工作和提高运行效率。 1 2 国内外研究现状 当前系统性能分析的研究主要集中在性能建模方法的研究和性能分析的自 动化技术研究这两个方面。 1 2 1 性能建模方法的研究 近年来国外在这个领域进行了大量研究,在i e e e 的多个会刊和每年的软 件性能会议( w o s p ) 都不断有新的预测方法提出。国内在这方面的研究很少,主 要集中在随机p e t r i 网方面【”。这些方法在实用性上或多或少存在某些缺憾,目 前还不存在一种可以比较好的解决方案。 建模方法的选择直接影响到软件性能分析的质量。针对系统性能建模技术 的研究已取得一些成果:如文献【4 击l 中所描述的在u m l 模型中使用自定义的性 能标记或s p t 剖面来描述系统行为,从中直接导出q n 或e q n 模型;文献【7 8 】 中所提出借助于m s c ( m e s s a g es e q u e n c ec h a r ) 或u c m ( u s ec a s em a p ) 来描述系 统行为:文献【9 1 1 i 中所描述出于自动化的考虑,提出将u m l 模型转换为一个中 间模型或中间描述,然后再从中导出相应的性能模型;文献【1 2 】介绍了一种统一 建模框架,其工具称作p u m a 。p u m a 将使用u m l ( 使用了s p t 剖面) 或u c m 描述的系统模型转化为一个中间模型c s m ( c o r es c e n a r i om o d e l ) ,然后再根据 需要转化为q n ,l q n 或s p n 。 2 s m i t hcu 将性能分析融入到了软件开发过程中【1 3 j 。它使用增加了性能信 息的扩展u m l 来描述系统行为,并使用了两个分析模型:软件执行模型和系 统执行模型。前者使用执行图( e x e c u t i o ng r a p h ,e g ) 描绘软件执行行为,后者 使用q n 来描绘关键的计算机系统资源。对基本s p e 进行扩展,还得到了一些 衍生s p e 方法【1 4 _ 16 1 。 清华大学的刘鸿,林闯等人在文献【h 】当中提出了一种同步变迁等价分解 ( s y n c h r o n o u st r a n s i t i o ne q u i v a l e n td e c o m p o s i t i o n ,简称s t e d ) 法对紧同步随机 p e t r i 网进行分解求解,有效地缓解了具有一个或多个同步变迁情况下的空间爆 炸问题,该方法对于子模型同构的情况处理简便且十分有效,对随机p e t r i 网的 状态空间爆炸问题在大型和复杂系统中应用的限制有了很好的解决。 同济大学的林琳和蒋昌俊在文献【l3 j 当中提出一种将广义随机p e t r i 网与工 作流相结合建立交通信息系统的随机p e t r i 网模型的方法,采用工作流的概念, 建立交通信息系统的随机p e t r i 网模型,进而将基于行为表达式的分析方法【l 刈 扩展到适用于广义随机p e t r i 网模型。最后根据实际系统中相关数据的统计分析 和经验估计,利用基于行为表达式的分析方法对点播服务的时间性质进行分析。 通过理论分析获得了的有价值的性能指标,为系统提供了技术支持。实现了为 系统动态实时采集路况信息,准确、迅速地完成动态最小成本路径查询、动态 最短时间查询和个性化查询。 这些研究工作从不同角度建立了软件性能建模的规范及性能模型的生成方 法,对于软件性能预测分析技术的研究是非常有意义的。 1 2 2 性能分析自动化的研究 当前国内针对性能模型实现性能计算或模拟的自动化解析工具和模拟工具 支持的研究非常少,而国外这方面的研究成果相对丰富。 ( 1 ) 文献【2 0 】认为模型驱动架构( m d a ) 是一个适合于企业信息系统领域, 整合形式化分析技术与工程方法的框架。文献利用m d a 特有的性质实现手动 和自动分析。最后提出了一种的通用的模型的方法,并概述了该模型中使用有 关企业j a v a 组件( e j b 组件) 的应用,使用标准描述标注到可分析的形式化模 型中。 ( 2 ) 顺序图转换为执行图的基本算法研究。利用u m l 顺序图进行性能分析 的研究在国外已有一定的研究,s p e 模型转化作为一种业内公认的性能分析过 程也得到了相当的重视,但是关于模型间的转化算法还鲜有文章提及,文献【2 l j 利用形式定义,利用u m l 的组合片段对顺序图进行分割,转化得到执行图, 为顺序图到执行图的自动转化提供了依据,加快了性能分析的速度。 ( 3 ) a n d r e ada m b r o g i o 认为软件产品的生命周期性能验证涵盖了从c a s e 文 档产生性能模型。虽然从c a s e 文档自动获取软件性能模型的多种方法已经在大 量文献中出现过,但是并没有解决自动化问题。文献1 2 2 1 针对这样的问题,通过 介绍一个综合的和基于标准的环境的自动推导并评价基于排队理论的性能模 型。 总之,目前流行使用的一些性能分析方法都不是特别的优秀,在各个方面 或多或少的存在着一些缺陷。所以,本文研究新的系统的性能建模和性能分析 的理论和方法,其目的是在保证系统的正确性、可用性的前提下,快速高效分 析出系统瓶颈,优化系统的性能。 u m l 和l q n 是一种很好的系统建模与性能分析工具,这已在许多领域得 到证明 2 3 - 2 5 】。但是由于w e b 系统的特殊性及其带来的性能模型和性能分析都有 其特殊性,还存在许多需要深入研究的问题。因此,对w e b 系统的建模和性能 分析具有重要的理论意义和广泛实用价值。 1 3 本文的主要工作及结构安排 1 3 1 本文的主要工作 目前流行使用的一些性能分析方案,在各个方面或多或少存在着一些缺陷 的现状,本文通过对相关领域文献的研究,借鉴实际项目测试经验,提出了一 个比较完整有效的性能分析解决方案。主要研究内容包括如下几个方面: ( 1 ) 介绍了性能分析的方法以及性能分析相关技术。 ( 2 ) 阐述了s p t 性能文档、性能分析模型q n 及l q n 的原理。 ( 3 ) 针对w e b 应用系统性能的时间、资源特征评价问题提出了一个w 曲应 用系统时间、资源特征评价指标体系。 ( 4 ) 提出了一个以基于l q n 的性能预测模型为核心的性能分析解决方案, 研究方案的关键技术。 ( 5 ) 以“淮北煤矿安全管理信息平台”为背景,利用提出方案给出一个具 体的w e b 应用系统时间、资源特征分析的实施过程,完成在这种方案下的具体 的分析工作。 1 3 2 本文的组织结构 本文共分为六章。 第一章为绪论。主要介绍了本文研究的目的与意义、研究内容、相关研究 工作概述及全文的内容组织方式。 第二章为性能分析方法与相关技术。本章首先阐明了性能及其相关的定义; 介绍了性能早期分析必要性和目的、影响性能的因素;介绍了性能分析的几种 主要的方法;阐述了软件开发早期性能分析涉及的相关技术。 第三章为基于l q n 模型的w e b 应用系统性能分析方案。本章首先针对w e b 应用系统性能的时间、资源特征,提出了一个w e b 应用系统时间、资源特征评 价指标体系;研究了近年来基于排队网络模型的性能分析;对s p e 方法的思想 和过程进行了分析;最后提出了一个基于l q n 模型的性能分析方案,给出了该 方案实施过程和方案涉及的技术。 4 第四章为方案中涉及到的关键技术研究。包括组件信息的集成、u m l 模型 到l q n 模型的转换技术和、性能综合评估模型的构建以及l q n 模型的求解。 第五章为性能分析方案在实际项目时间、资源特征分析中的应用。本章通 过将提出的方案在淮北煤矿安全管理信息平台中的部分模块时间、资源特征分 析中的实施来说明提出方案的可行性。给出了方案在项目中实施的详细过程, 包括在开发的早期快速评估当前设计下真实系统的时间、资源特征分析、建立 性能模型查找性能问题的具体过程。 第六章为结束语。总结了全文的主要贡献以及将来有待进一步研究的问题。 1 4 本章小结 本章主要讨论了以下内容: 课题研究的背景和意义 国内外研究现状 论文主要研究内容 第二章性能分析方法与相关技术 在软件开发过程的早期引入对性能需求的考虑有三个目的:选择合适的体 系结构以满足设计需求,改进现有的系统设计以提高性能,以及在软件产品最 终开发部署完毕后,帮助其进行性能调优和容量规划。显然,这种分析开展的 时间越早,带来潜在的时间和成本节省就越多。为节省更多的潜在的时间和成 本,从已经确定的软件体系结构和设计信息,对性能目标的满足情况做出估计 是行之有效的方法。 2 1 性能概述 2 1 1 性能相关概念 ( 1 ) 性能的定义。 软件性能的概念,目前还没有一个统一的定义。一般人们有两种观点,其 一,认为软件性能是软件产品除功能属性之外的重要的非功能特性之一,主要 指软件的响应性;其二,认为性能的范围是若干非功能属性的并集,甚至与功 能属性有交集,包括程序类型、软件复杂性、运行环境、资源利用率、升级能 力,易操作性等。 i e e e6 1 0 1 2 的定义: “性能 具有很多内涵。软件工程术语的i e e e 标准术语表【 e e e - 6 1 0 1 2 】 给出的定义是:“性能,系统或组件在给定约束中实现的指定功能的程度,诸如 速度,正确性,或内存使用。 s m i t h 的定义: 作为软件非功能需求的性能描述软件系统行为的实时性。s m i t h 简单概括: “性能表示响应性:或者是对特殊事件的响应时间要求,或是在给定的时间间 隔内处理时间的数量 。性能是描述系统传递服务的实时性的计算机系统的质量 属性。 本文研究内容中涉及的性能概念,采用了s m i t h 对软件性能的定义。针对 w e b 应用系统性能的时间、资源特征,在第三章提出了一个w e b 应用系统的时 间、资源特征评价指标体系。 ( 2 ) 性能模型。 性能模型又称作面向分析的模型,指为了进行性能或其它非功能性属性分 析所建立的模型,如数学模型和仿真模型。 ( 3 ) 性能预测。 在软件产品最终实现前进行的预测性性能分析与评价,称为性能预测。性 能预测是性能评价的一个分支。 ( 4 ) 性能评价。 性能评价是对计算机系统和通信系统的动态行为进行描述、分析和优化。 6 性能评价首先对一台计算机或者一个通信系统的动态行为建模,称为性能模型。 然后求解模型,得到系统的吞吐率、平均时延、队列长度等参数。 2 。1 2 性能早期分析的必要性 性能是软件系统最重要的质量属性之一。在软件行业的理论和实践中,人 们更多关注软件的功能正确性。然而,系统如果达不到预期的性能目标,就会 需要长时间的软件调优、提高硬件配置或者( 部分) 重新设计,甚至最终造成项 目的彻底失败。 要避免这种灾难性后果,就必须在开发过程的早期引入对性能需求的考虑, 使得性能“内建 于系统,而不是后期附加。在软件实现前对性能进行预测可 以极大减小项目风险。软件行业的多个灾难性实例使人们越来越认识到:为了 尽力避免潜在的巨大损失,以性能为代表的非功能属性( n o n f u n c t i o n a l p r o p e r t y , n f p ) 应当受到与功能正确性同等程度的重视,在开发过程中尽可能早 的阶段被考虑到。 对计算机网络和计算机系统进行性能评估的意义可以总结如下: 1 ) 选择,改进和设计。具体而言就是在众多的系统方案中选择一个最适合需 要的,即在一定的价格范围内选择性能最好的系统,达到较好的性能价格比。 2 1 对已有系统的性能缺陷和瓶颈进行改进,提高其运行效率。 3 ) 对未来的系统进行性能预测,在性能成本方面实现最佳设计或配置。影响 系统性能最基本的因素在于系统的配置和负载,性能评价的主要任务就是研究 系统配置,负载和性能指标之间的关系。 性能早期分析的目的是对未来的系统进行性能预测,在性能成本方面实现 最佳设计或配置。通过对系统进行性能预测可以选择合适的体系结构以满足设 计需求,改进现有的系统设计以提高性能,以及在软件产品最终开发部署完毕 后,帮助其进行性能调优和容量规划。 2 1 3 影响性能的因素 w e b 应用的性能被认为是用户通过用户代理提出用户请求到请求得到服务 器响应之间的时间。由于w e b 应用是一个多层的架构,因此其性能受到以下几 个因素的影响: 1 ) 客户端配置( 如浏览器缓存大小配置) ; 2 ) 服务器端配置( 如r a m ,c p u 个数、磁盘读写速度) ; 3 ) 网络通信容量; 4 ) 1 作负载的类型及数量( 如读取w e b 服务器上的不同类型的文件或实现 服务器上数据库中的数据读写操作) 。 总之,组成w e b 的三个部分,客户机,服务器和网络都可以影响w e b 的 性能。具体包括客户端平台,客户端软件,物理网络,网络协议,服务器软件, 服务器平台,负载等。 7 2 2 性能分析方法 2 2 1 基于模型的性能分析 基于模型的方法一般采用模型转换技术,从系统行为模型推导出性能模型 【2 7 1 。系统行为模型又称开发模型、面向设计的模型,指除了描述软件功能外, 还描述了系统运行时动态的模型,如u m l 顺序图。有时软件文档产品中仅仅 给出了功能模型,这就需要性能设计师必须根据软件需求和运行动态自己建立 出行为模型。性能模型又称面向分析的模型,包括分析模型、统计模型和仿真 模型三类。分析模型是形式化的描述和分析方法,主要包括排队网络( q u e u i n g n e t w o r k ,q n ) 、随机p e t r i 网( s t o c h a s t i cp e t r in e t ,s p n ) 、随机进程代数( s t o c h a s t i c p r o c e s sa l g e b r a ,s p a ) 。统计模型以曲线拟和的方式建立方程来反映软件动态 行为,般使用较少。仿真模型可以根据不同类型软件进行特殊定制,没有应 用范围限制。 2 2 1 1 排队网络方法 排队论作为运筹学研究的一种有力工具在计算机系统的性能评价中占有相 当重要的作用。排队模型是性能评价的理论基础理论和经典模型。 在现实生活中,为了接受某种服务,排队等待是常见的现象。从排队等待 得到抽象的物理模型,进一步建立数学模型的一整套理论就是所谓的排队论。 排队论也称为随机服务理论,即通过对服务对象的到来及服务时间的统计 研究,得出一些性能指标( 等待时间、队列长度、利用率、吞吐量等) 的统计 规律,然后根据这些规律来改进服务系统的结构或重新组织被服务对象,使得 服务系统既能满足服务对象的需要,又能使系统的费用最经济或某些指标最优。 目前,排队论的理论基础已经非常成熟,而且被应用到很多领域中。 根据系统与外界是否有联系,排队网络分为三种基本类型开环网络、闭环 网络和混合网络。开环网络可表示一个具有外部到达和离开的事务处理系统。 闭环网络可表示多程序级别维持恒定情况下的批量类型的工作负荷。而混合网 络对两种系统均可进行模型。 2 2 1 2 随机p e t r i 网方法 p e t r i 网理论是1 9 6 2 年德国学者c a r la d a mp e t r i 博士在他的博士论文用 自动机通信( c o m m u n i c a t i o nw i t ha u t o m a t a ) q 口首先提出来的。近年来,随着 p e t r i 网理论的不断发展,其应用范围也越来越广,如性能评价、通信协议和生 产系统等领域。 随机p e t r i 网( s t o c h a s t i cp e t r in e t ,s p n ) 在p e t r i 网中引入随机时间参数,扩 充了p e t r i 网的描述功能,使得模型的动态行为受时间参数的影响,更加符合实 际模型的特征。随机p e t r i 网是用于描述离散事件动态系统的形式化工具。它为 每个活动定义了精确的语义,采用直观的图形形式,可以对系统的功能性和非 功能属性同时进行分析。 8 随机p e t r i 网能为具有随机过程的系统提供建模和进行性能分析,通过建立 系统的模型,采用数学的方法,能有效地模拟系统中的状态变化,对模型进行 求解,进而分析系统的性能参数,为性能评价提供了有效的工具。 s p n 在性能分析中的应用主要有三个步骤。首先,给出系统的一个s p n 模 型。构造系统的s p n 模型时,主要分析系统中的资源、引起系统资源变化的事 件等条件,将其转换为s p n 模型表示。其次,构造出该s p n 所同构的m c 。给 出系统的s p n 模型后,就可以构造该模型的可达图,进步将可达图转换为对 应的马尔可夫链。最后,基于m c 的稳定状态概率进行所要求的系统性能分析 与评价。 、 2 2 1 3 随机进程代数方法 随机进程代数( s t o c h a s t i cp r o c e s sa l g e b r a ,s p a ) 是由早期的进程代数演化而 来的。进程代数是描述并发系统并对其结构和行为进行推理的数学理论。进程 代数形式化好、可操作性好,适合对复杂系统进行模型分析。进程代数的思想 是将系统抽象成某种元素,提供严格的语义描述系统及行为,并以确定的语法 规则来演算系统的动态行为。 s p a 以文本的形式来描述系统,是另一种强有力的形式化工具。业已证明 s p a 同s p n 等价,且结构更优【4 5 1 ,其表达式可以比s p n 更好体现模型结构层 次关系。目前有工具支持的s p a ,其代表是p e r f o r m a n c ee v a l u a t i o np r o c e s s a l g e b r a ( p e p a ) t 4 6 ,4 9 1 ,t i m e dp r o c e s s e sp e r f o r m a n c ee v a l u a t i o nt i p p 4 7 1 ,e x t e n d e d m a r k o v i a np r o c e s sa l g e b r a ( e m p a ) 1 4 引。 性能评价进程代数【4 9 1 ( p e r f o r m a n c ee v a l u a t i o np r o c e s sa l g e b r a ,p e p a ) 是 j a n eh i l l s t o n 博士在1 9 9 4 年提出的一个随机进程代数,是一种高级模型语言, 是对经典进程代数( 如c c s ) 的扩展,对活动实施增加了随机的时间延迟。活 动的执行时间是一个连续型的随机变量,且服从负指数分布,保留了无记忆性 ( 或马尔可夫特性) 。性能评价进程代数( p e p a ) 主要用于分布式的计算机通 信系统的性能分析,p e p a 的应用涉及多种领域。 2 2 1 4 其它方法 ( 1 ) s p n 和s p a 的结合 p e p a 网( p e p an e t s ) 是将s p n 和s p a 结合起来的性能建模语言,它通过将 p e p a 构件作为着色s p n 的标记( t o k e n ) 来对p e p a 进行了扩展。在p e p a 网中, 建模位置的p e p a 构件称做静态构件,不可以移动。作为标记的p e p a 构件则 可以移动,并和处于同一位置的静态构件或其它标记通信。文献【5o j 描述了如何 使用p e p a 网来建立行为( 性能) 模型,并将p e p a 网模型转换为p e p a 模型。 ( 2 ) 仿真模型的方法 文献【钉1 提出了一种针对实时系统的仿真方法。使用扩展后的u m l 图来表 现时间需求和执行资源消耗,结合体系结构描述共同作为a m g ( a n a l y s i sm o d e l 9 g e n e r a t o r ) 和s m g ( s i m u l a t i o nm o d e lg e n e r a t o r ) 的输人,生成相应的调度模型和 仿真模型。通过仿真和分析得出的模型结果,被标记在初始的u m l 图中,作 为反馈信息提供给软件设计师。 文献【5 2 】开发了一种称做仿真模型语言( s i m m l ) 的仿真框架,可以从使用 u m l 描述的系统规约自动生成仿真j a v a 程序。s i m m l 允许用户在其中绘制c d 和s d 来描述系统信息,得到的u m l 模型被转换为x m l 格式存储。 ( 3 ) 性能预测框架 除了以上的具体模型转换算法,人们也提出了一些性能预测方法学框架, 有专门的语法、语义,并可以在某些步骤灵活选用多种转换算法。 文献【5 3 】提出了一种针对构件软件的性能预测框架,定义了完整的性能语法 和语义。文献【5 4 1 提供了一种模型驱动的预测构件软件n f p 的方法。w o o d s i d e 等人开发了一种统一建模框架,其工具称做p u m a ( p e r f o r m a n c eb yu n i f i e d m o d e la n a l y s i s ) 。文献1 5 5 】给出了构件软件n f p 的一种形式化描述方法,并使用 扩展t l a + ( t e m p o r a ll o g i co fa c t i o n s ) 语言对构件、容器和资源的时间属性进行 建模。 2 2 2 基于测量的性能分析 基于测量的方法从部分可执行代码出发,使用性能测量技术获得部分性能 指标,然后对整个系统的性能表现进行预测p ”。 文献【3 9 】中提出了一种基于测量的性能预测方法。首先选择有代表性的性能 测试用例,然后将其映射到具体容器中,确定测试过程和具体测试指标。在通 过测试获得容器性能剖面后,就可以结合业务逻辑分析对系统响应时间、吞吐 量和可伸缩性做出比较精确的预测。这种方法可以更多关注部署环境细节,如 不同的容器、数据库和操作系统。但性能测试会将硬件争用引人到最终的性能 指标中,无法获得比较“纯粹”的软件性能。 2 2 3 模型与测量的结合 这是将性能模型与测量方法相结合的一种新颖的预测方法学,l i u 等人将 它分为以下几个步骤: 1 ) 容器的排队网络模型。首先将组成容器的构件及其通信细节建模为q n , 并标记出队列的延迟在何处出现。 2 ) 容器体系结构模式。使用a d 描述容器体系结构模式,通过分析一个单 独请求的处理步骤,包括构件选取、其容器属性设置和通信模式等,获得体系 结构模式的详细信息。 3 ) 应用设计的参数化性能模型。根据应用的使用剖面和业务逻辑分析,建 立方程表达平台中具体特性的各个队列中的服务需求。 4 ) 容器性能剖面。实现一个有最小业务逻辑的基准应用。通过对其的测量, 解析出性能模型的未知参数,得到一个基于具体o s 硬件平台上的性能剖面。 l o 5 ) 定量的性能预测。使用q n 来表现在剖面化容器上运行的应用,对其求 解得到定量的性能指标。这种方法从业务应用的设计中消除了容器和计算平台 属性的影响 2 3 性能分析相关技术 2 3 1 行为描述技术 2 3 1 1u c m u s ec a s em a p s ( u c m ) 是加拿大卡莱顿大学( c a r l e t o nu n i v e r s i t y ) 的 r j a b u h r 教授于1 9 9 2 年提出来的一种可视化场景表示方法【2 8 3 0 】。尽管u c m 与u s ec a s e 有一定联系,但它是一种全新的场景表示法。 u c m 旨在方便人们从较高抽象层次上理解系统行为。它在消息层次之上表 示场景,其目的就是用一种明确的、可视化的方式描述系统的行为构架 ( b e h a v i o r a lf a b r i c ) ,行为构架是人们对系统大粒度行为模式的视图。 u c m 描述责任( r e s p o n s i b i l i t y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论