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

(计算机应用技术专业论文)基于性能模型的短消息系统性能分析.pdf.pdf 免费下载

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

文档简介

= ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! = = ! ! = = = = = ! ! ! ! ! ! = ! = = = = 2 2 2 。一 摘要 软件的性能是软件质量的重要特征。软件的性能往往与软件本身的结构有着 密切的联系,刈于大型分布式系统而言尤其明显。由于系统结构设计不当造成的 系统性能瓶颈不易发现,往往到最后的系统测试阶段才被暴露。而在那时对系统 的结构进行任何改动代价都必然十分昂贵。这就需要在设计阶段及早发现设计缺 陷并及时补救的能力。而从系统设计阶段的u m l 模型中抽取性能模型对其进行性 能分析以期发现其设计缺陷及性能瓶颈则是一种目前被广泛接受的解决方案。这 属于软件性能工程的研究范畴。 另一方面,随着短消息业务的迅猛发展,短消息系统的性能问题也逐渐浮出 水面。构建高性能的短消息系统已经成为各电信设备供应商、电信服务提供商关 注的焦点。其中如何配置一个短消息系统并使之满足系统性能需求,是问题的关 键。 本文由短消息系统的u m l 模型中提取q n 性能模型,并利用a p e r a 性能模型解 决工具对q n 模型进行性能分析。由此得到一种发现设计性能瓶颈和配置满足性能 需求的短消息系统的系统化方法。该方法同样适用于其他的大规模系统。在系统 的设计阶段引入性能分析,减少系统设计缺陷;在系统部署阶段以最小的硬件开 销确保系统满足性能需求。 如何提高短消息系统在高负载下的性能则是本文的另一研究课题。通过开发 短消息性能测试d e m o ,并对其性能表现进彳亍分析,本文提出了一种线程动态配置 策略,可以在动态平衡短消息系统上行负载和下发负载的基础上取得最大系统吞 吐量。该策略能有效避免高负载下系统吞吐量下降的出现。针对短消息中心,本 文提出了一种具有负载适应性的短消息重发策略一一基于负载的重发策略。利用 该重发策略,在高负载下可以对短消息中心的下发流量进行有效地流量控制,减 少短消息中心拥塞的发生。 关键词:软件性能工程短消息系统性能模型统一建模语言负载适应性 j a v a 消息服务 a b s t r a c t o n eo fi m p o r t a n ts o f t w a r eq u a l i t y c h a r a c t e r si s p e r f o r m a n c e s o f t w a r e sp e r f o r m a n c e a l w a v si sa s s o c i a t e dw i t hi t sa r c h i t e c t u r ec l o s e l y a n di ts e e m sm o r eo b v i o u s l y t ol a r g e s c a l e d i s t r i b u t e d s y s t e m s y s t e mp e r f o r m a n c e b o t t l e n e c k sw h i c hc a u s e db yu n s u i t a b l es y s t e m a r c h i t e c t u r ed e s i g nh a r dt od i s c o v e ru n t i lt h el a s ts y s t e mi n t e g r a t i o nt e s tp h a s e a n yc h a n g i n g o fs y s t e ma r c h i t e c t u r ew o u l db ev e r ye x p e n s i v e a tt h a tm o m e n t i tn e e d st h ea b i l i t yo f f i n d i n g t h a td e s i g nf l a w so u ta n dc o r r e c t i n gt h e mi nd e s i g np h a s e t h es o l v em e t h o dt h a ta n a l y z e p e r f o r m a n c em o d e lw h i c ha b s t r a c t e df r o mu m lm o d e lt h a tb u i l di as y s t e md e s i g np h a s ei s w i d e l ya c c e p t e da tp r e s e n t i tb e l o n g st h es 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 ) sr e s e a r c h f i e l d o nt h eo t h e rh a n d ,s i n c et h er a p i dd e v e l o p m e n to fs h o r tm e s s a g eb u s i n e s s ,t h ep e r f o r m a n c e p r o b l e mo fs h o r tm e s s a g es y s t e m ( s m s ) i sc o m i n gu p b u i l d i n gh i g h - p e r f o r m a n c es m s b e c o m e st h ef o c u so fe v e r yt e l e c o me q u i p m e n ts u p p o r ta n dt e l e c o ms e r v ep r o v i d e r t h e k e yp o i n to ft h a ti sh o w t oc o n f i g u r eas m st os a r i s f ys y s t e m sp e r f o r m a n c er e q u i r e m e n t q n p e r f o r m a n c em o d e la b s t r a c t e df r o mu m l m o d e lo fs m si nt h i sp a p e r u s i n ga p e r a p e r f o r m a n c em o d e ls o l v et o o lt oa n a l y z eq nm o d e l ,t h i sp a p e rp r e s e n tas y s t e m a t i cm e t h o d t of i n dt h ec o n f i g u r a t i o no fs m s ,w h i c hc a ns a t i s f yp e r f o r m a n c er e q u i r e m e n t t h em e t h o d a l s os u i t sf o ro t h e rl a r g e s c a l es y s t e m s i tc a ni m p o r tp e r f o r m a n c ea n a l y s i si ns y s t e md e s i g n p h a s et or e d u c ed e s i g nf l a w s a n di ns y s t e md e p l o y m e n tp h a s ei t c a ng u a r a n t e e s y s t e m s a t i s f i e dp e r f o r m a n c er e q u i r e m e n ta tt h el o w e s th a r d w a r ec o s t h o wt oi m p r o v et h ep e r f o r m a n c eo fs m sa th i g hi n t e n s i t yw o r k l o a di sa n o t h e rr e s e a r c h t o p i c o ft h i s p a p e r b yd e v e l o p s h o r t m e s s a g ep e r f o r m a n c e t e s td e m oa n da n a l y z ei t s p e r f o r m a n c e ,t h i sp a p e rp r e s e n t sp r e s e n tat h r e a d sd y n a m i cc o n f i g u r a t i o np o l i c yw h i c hc a n m a k es m s g a i nt h ea b i l i t yt ob a l a n c es u b m i ta n dd e l i v e rw o r k l o a da n dg e tt h em a xs y s t e m t h r o u g h p u ta tt h es a m et i m e i tc a na v a i l a b l ya v o i dt h a ts y s t e mt h r o u g h p u td e s c e n da th i g h i n t e n s i t y w o r k l o a d a n d s p e c i a l l y , t o s h o r tm e s s a g es e r v i c e c e n t e r ( s m s c ) ,t h i sp a p e r p r e s e n tan e ww o r k l o a d b a s e dr e s e n dp o l i c yo fs m s c f o rw o r k l o a da d a p t a b i l i t y u s i n gt h e r e s e n dp o l i c y , s m s cc a nc o n t r o li t sd e l i v e rw o r k l o a da v a i l a b l y ;r e d u c et h er i s ko fs m s c c o n g e s t i o na th i g hi n t e n s i t yw o r k l o a d k e yw o r d s :s p e s m sp e r f o r m a n c em o d eu m l w o r k l o a d - a d a p t a b i l i t y j m s 湖南大学 学位论文原创性声明 本人郑重声明:所呈交的论文是本人在导师的指导下独立进行研究所取 得的研究成果。除了文中特别加以标注引用的内容外,本论文不包含任何其 他个人或集体已经发表或撰写的成果作品。对本文的研究做出重要贡献的个 人和集体,均已在文( | ,以明确方式标明。本人完全意识至u 本声明的法律后果 由本人承担。 作者签名: 毒芍 日期:z 一千年呼月z g 日 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学 校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查 阅和借阅。本人授权湖南大学可以将本学位论文的全部或部分内容编入有关 数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位 论文。 本学位论文属于 1 、保密口,在年解密后适用本授权书。 2 、不保密团。 ( 请在以上相应方框内打“”) 作者签名: 导师签名: 浩哦 1 f 哆 骂彤, 日期:z 卯争年争月zg 日 日期:a 畸丫年甲月站日 至圭兰堡堕苎 一 第1 章引言 随着移动通讯的广泛普及,相关增值业务也随之得到了迅猛发展。其中短消 息业务更是一马当先,在全球范围内以几何级数飞速增长。短消息在中国2 0 0 0 年 发送总量是1 0 亿余条;2 0 0 1 年1 9 0 亿条;2 0 0 2 年9 0 0 亿条;2 0 0 3 年全年更达到2 2 0 0 亿条。在2 0 0 4 年除夕晚上仅北京联通的短消息中心记录到的短消息瞬时峰值就达 到了2 4 0 0 条每秒。这列电信运营商正在运行中的短消息系统的处理能力无疑是巨 大的考验。在系统高负载,甚至超载下怎样保证短消息系统能够i f 常运行并维持 较好的性能成为了引人注目的焦点。怎样利用性能工程提供的方法去构建一个经 过性能优化的短消息系统,保证短消息系统满足系统性能需求的同时能在高负载 情况下维持较好的性能就成为了本文的研究课题。下面分别对本文涉及到的系统 早期性能分析,线程设置性能优化与重发策略性能优化的相关工作进行简要介绍 1 1 1 软件系统早期性能分析 传统上,软件工程将注意力集中于功能需求和如何构建具有更少缺陷和易于 维护的软件。多数设计方法在系统的分析元素中包括非功能性的需求,如性能需 求,但是通常很少关注在开发周期中如何处理这些需求。随着更加结构化软件设 计方法如面向对象技术、基于组件的开发、分布式系统的出现,系统的性能因素 已经成为软件设计的一个重要挑战i t n 。 软件性能工程是构造满足性能目标的软件系统的方法,在一个新系统的整个 开发周期里面计划和评估它的性能,来提高系统的响应性和可用性j 2 j 。软件性能 工程包括以下技术:数据收集、不确定性处理、性能模型的构造和评估、其它方 案的评估、结果的核实和验证。它也包括有效使用这些技术的策略。 在开发周期的早期引入性能分析能够避免( 至少是减少) “亡羊补牢” ( f i x i t l a t e r ) 的出现【3 1 。所谓“亡羊补牢”就是指在软件设计开发阶段忽略性能 问题直至构造出软件,在软件实现后再通过调试修改( t u n i n g ) 的方法来解决性 能问题。而这种修改无疑会破坏整个软件设计的构造,并有可能引入新的错误或 问题。另一方面,经过这种修改得到的系统先天不足,与从一开始就考虑性能因 素进行设计的系统相比,无疑相差甚远。随着软件性能工程的发展,要将性能分 基于性能模型的短消息系统性能分析 析集成到软件开发的全过程,特别是前期中去。 前期性能预测方法主要分为两类:随机方法和定量方法。随机方法考虑各种 不同的执行时间。在文献 4 中指出在具体应用中应用随机方法很难估计它的预测 精确度,因为那需要很复杂的解决技术。丽定量方法则忽略执行时间的变化,相 比随机方法更有实用价值。而定量性能预测方法主要使用q n 模型。文献 4 ,5 ,6 利用o n 模型来对通信网络,并行和分布式系统建模。文献 7 利用q n 模型对数据 库系统进行分析。前期性能预测工作主要分两个步骤: 1 从软件结构定义中提取性能模型 2 对性能模型进行系统分析 1 1 1 1 软件结构定义中提取性能模型的方法 在文献 8 中,应用s p e 方法得到软件结构的性能指标。强调的重点是软件执 行模型的构建和分析。类图和部署图被用于完成软件结构的描述,但是没有包括 转变过程。s p e 过程需要附加的计算机配置数据和每个过程步骤的软件资源需要。 在文献 9 中,描述了如何从一个系统的u m l 定义中抽取q n 模型。用例图被用 来指定负载和各类系统需求。执行图用来定义系统资源竞争和量化有效的系统资 源。基本思想就是通过将系统组件和连接映射到服务中心,来从部署和组件混合 图中得到q n 模型。在文献 1 0 ,1 l ,1 2 中,利用u m l 类图和顺序图定义一系列 重要的结构模式。表示为相应的l q n 性能模型。并结合相应的结构模式提出了 一个系统化的方法来建立复杂的软件结构的性能模型。该方法生成了软件和系统 执行模型。用u m l 协作图,部署图和用例图来定义软件结构。其中协作图用来 获得系统执行模型( l q n 模型) 。用例图用来提供相关负载信息。而部署图则用 来获取将软件部件配置到相关硬件节点上的相关信息。在文献 1 3 ,1 4 中,则应用 u m l 的性能扩展标准获取软件结构的性能模型。 1 1 1 2 利用性能模型对系统进行性畿分析的方法 在文献 1 5 中一个通讯系统中通过从系统的高层体系结构得到性能模型并对 其分析从而显示出在不同的负载与配置下,系统性能瓶颈从一个部件转移到另一 个部件、同时也暴露出系统本身在软件体系结构上的缺陷。在文献 1 6 中利用性 能模型,用先进行硬件配置,再在此基础上进行优化的软件配置的方法来实现对 分布式消息转换系统的配置,从而使系统达到预期的性能要求。 硕士学位论文 1 1 2 线程规模与软件性能瓶颈 文献 1 7 描述了普通的软件拥塞问题,提出应用多并行实体能够避免软件瓶 颈。但没有给出找到满足性能目标的必要实体数的方法。在文献 1 8 中分析了增 加线程数目对软件服务器处理能力的影响。显示了在不同线程数时,软件性能瓶 颈的变化。并指出了线程规模的检查对设计指导的重要性。 1 1 3 重发机制及其性能优化 重发机制广泛存在于各种分稚式系统中。当一个包或( 消息 发送时,重发 定时器,f 始计数;当收到确认信号后,重发定时器停止计数。如果超过设定时问 段还没有收到确认信号,就重发该包。 h p 公司推出的n f s ( n e t w o r kf i l es y s t e m ) 服务的重发机制9 】女口下:在有效期 范围内定义一个超时时长r t t ( r o u t ) 。定义在有效期内的尝试重发次数。在首 次尝试失败后,超时时间延长一倍( 最大上限是2 0 秒) 。直到达到了定义的最大 重发次数。如果所有的重发次数都不成功,则显示n f s 失败并记录系统日志。这 种每次重发间隔时间延长一倍的做法在一定程度上避免了频繁的重发。 而在网络t c p 协议方面,针对重发机制对网络传输的性能影响,人们也做了 大量的分析工作,并得出了许多改进t c p 重发机制以提高性能,避免拥塞的方法 1 2 0 , 2 u 。其中一个关键的问题就是r 1 t 的设置。如果太长,当网络传输错误增加时 将导致不必要的等待时间;如果太短,就会产生过多的重复包从而降低网络的反 应时间。在文 2 2 2 3 中,t c pv e g a s 版本针对r e n o 版本的这种问题,利用细粒 度的r t t 时钟测量值来计算每个发送段的超时周期。根据实际情况对重发定时器 进行动态设定,从而避免了不合适的砌盯设置造成的性能问题。 本文主要工作分三个方面展开: 1 ) 设计、配置一短消息系统使之满足系统设计说明书中定义的性能需求。 2 ) 开发短消息性能测试d e m o ,通过对其性能分析,提出一种基于负载的 收发线程动态配置策略。 3 ) 分析短消息中心的重发策略的性能并提出一种新的基于负载的短消息 重发策略。 如何在开发阶段确保正在开发的系统确实满足系统设计说明书中定义的性能 需求是一项很有意义但也异常困难的事情。本文针对短消息系统,从它的u m l 基于性能模型的短消息系统性能分析 横型入手,利用q n 性能模型和q n 性能模型解决工具a p e r a 对其进行性能分 析,找到一种在系统设计阶段即确保该设计方案满足性能需求的方法,并能在其 后的开发阶段对阶段性成果进行性能验证,在系统的部署阶段提供高性价比的部 署方案。 针对短消息系统在高负载下的性能困境,本文通过设计开发短消息性能测试 d e m 。,并对其进行性能分析,进而提出一种线程动态配置策略。该策略根据短消 息系统当前的负载,动态配置系统的短消息收发线程数。与文献 1 8 中的仅根据 系统资源调整线程数目不同的是,该策略通过增加收发线程数提高系统的消息处 理能力的同时,调整收发线程比来平衡系统上行、下行消息流量,从而减少高负 载下短消息在短消息系统内部积压,提高系统的有效吞吐量。 针对短消息中心。f 发消息无需严格按序下发,所以重发消息对时间特性年只对 不敏感的特点,本文在其原有的按时重发策略基础上提出了一种新的具有负载适 应性的短消息重发策略一一基于负载的重发策略。与t c p 的重发策略 2 2 m 】相比,它 无需设置重发时间,而是在系统处理能力内尽力重发短消息,从而将系统的首次 下发短消息与重发短消息的下发流量进行错峰,使系统下发流量控制在系统设置 的阀值之内。该策略在系统接近系统处理能力的高负载环境下可以有效避免系统 拥塞的发生,从而提高了短消息中心在高负载下的可靠性与性能。 作为性能分析的基础,第二章主要介绍了性能分析中豹q n 性能模型和含有 性能参数的u m l 模型。第三章则描述了基于o n 模型的性能分析方法和早期的 u m l 性能分析方法。第四章由短消息系统规范中生成u m l 模型及性能语境,从 中提取q n 模型;在此基础上运用a p e r a 对短消息系统进行性能分析。由此总 结出一种早期发现设计性能瓶颈和配置满足性能需求的短消息系统的系统化方 法。第五章设计实现了一个基于j m s 的短消息性能测试d e m o ,并通过对d e m o 的性能分析,提出了一种线程动态配置策略,以求在高负载平衡系统上行,下行 流量,获得良好的系统吞吐量。第六章介绍了短消息重发策略,针对原有定时重 发策略在高负载下的缺陷,提出了一种新的具有负载适应性的重发策略。最后对 本文的工作做了一个总结,并展望本课题的下一步工作。 :,:堡! 三兰竺至丝三耋:。:。:一 = = ! ! = ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! = = = ! ! = ! ! ! ! = ! j = = = = = = = = = = = 2 = = 。一 第2 章性能分析中的性能模型 利用性能模型对系统进行性能分析从而达到消除系统性能瓶颈的方法 在设计阶段主要的性能分析方法。性能模型一般分为三大类j : q u e u e i n g 模型1 2 5 , 2 6 1 将软件的执行细节部分定义为一个消费者类( w o r k l o a d s ) ,用来描述 不同的剧情。最简单的q u e u e i n g 模型,只需要定义每个设备的可达率和平 均需求( 通过执行每个剧情) 。更复杂的q u e u e i n g 模型就要考虑需求的分 配,这些需求可能是被动资源比如设备,还要考虑剧情次序的细节( 比如 存在并行分支) 。q u e u e i n g 模型可以计算所有软件部分的平均吞吐量,利用 率和响应时间。分层和扩展的q u e u e i n g 模型还可以在剧情的其中一部分和 设备中计算以上参数。 s i m u l a t i o n 模型f 2 7 1 依照剧情结构细节和利用分配给每一步操作的执行时间定义多重逻辑 象征软件执行。可能存在有复杂调度的被动资源( 例如用l r u ( 最少使用 算法) 对c a c h e 的管理) s i m u l a t i o n 模型可以计算柱状图、百分率和平均值 等多种度量尺度。 d i s c r e t e s t a t e 模型2 9 1 如p c t r i 网根据剧情结构的细节定义象征软件的执行。p e t r i 网用通过点 去定义符号和转换的改进的方式来描述结果,时间资源段被额外的点和符 号描述,资源调度被转化为执行调度决定。典型的p e t r i 网性能模型认为是 计算平均值的方法,但也可以提供包含更多细节的方法。 q n ( q u e u e i n g n e t w o r k ) 模型【3 d 1 就是将系统表示为一个由队列构成节点,用任务 流建立队列闻的连接的网络。它由一系列的服务中心( s e r v i c ec e n t e r ) 和消费者 ( c u s t o m e r ) 组成。服务中心,用来表示系统资源。消费者,表示用户或事务。在 系统中消费者们通过队列进入服务中心来竞争相应的资源服务。图一是一个最简 单的q n 模型 茎三丝丝丝型竺堡塑里垂丝竺墼坌丝 d e p a r t l n g 图2 1q n 模型 消费者到达服务中心,如果需要的话在队列中等待,接受服务中心的服务, 离开服务中心。这就是一个最简单的q n 模型。q n 模型将软件的执行细节部分定义 为一个负载类( w o r k l o a d s ) ,用来描述不同的剧情。该模型可以在剧情的片段中 计算平均吞吐量,利用率和响应时间。虽然这中间q n 模型需要一系列的假设,但 并不影响它作为性能分析工具的效力。 这个模型有两个参数,负载强度( w o r k l o a di n t e n s i t y ) 和服务需求( s e r v e r d e m a n d ) 。负载强度,顾名思义,代表该系统目前的负载情况,由消费者的到达率 表示。而服务需求则是消费者对系统资源的需求,由一个消费者对系统资源提供 服务的平均需求时间表示。 2 2 1q n 模型的划分 按负载的构成划分 q n 模型可分为单任务模型( s i n g l ec l a s sm o d e l ) 和多任务模型( m u l t i p i ec l a s s m o d e l ) 。 单任务模型所有消费者有着相同的系统需求和路由行为,只包含一类消 费者。 多任务模型一一系统负载由多类消费者组成,每类消费者有其独有的系统需 求和路由行为。 按结构分 q n 模型可分为开放模型( o p e nm o d e l ) 、闭合模型( c l o s em o d e l ) 和混合模 型( i x e dm o d e l ) 1 3 1 开放模型一一消费者的数量没有限制,消费者到达系统,接受服务,然后离 开。到达系统的消费者数目动态变化。如果该开放模型是多任务模型的话,则需 要对所有消费者类都要是开放的。例图如下: 硕士学位论文 图2 2 开放q n 模型 闭合模型一一有限数量的消费者,消费者在系统里循环执行。在任意时问内 系统中的消费者数目是确定的。如果该闭合模型是多任务模型的话,则需要对所 有消费者类都是闭合的。例图如下: 图2 3 闭合q n 模型 混合模型一一两个单独子模型,开放子模型和闭合子模型结合,分享共同的 系统资源。混合模型一定是多任务模型,其中一部分消费类是开放的,另一些是 闭合的。例图如下: 图2 4 混合q n 模型 基于性能模型的短消息系统性能分析 按阻塞类型划分 q n 模型可分为非阻塞模型( n o n b l o c k i n gm o d e l ) 和阻塞模型( b l o c k i n gm o d e l ) 非阻塞模型一一队列容量是非限定的。 阻塞模型一一队列容量是限定的。当一个消费者在q i 完成需要移动到q j 时, 如果。碍个有限队列并且它的等待队列空间已满,那么阻塞将会发生。 o 司( 卜叶 g :g 图2 5 阻塞0 n 模型 在q n 模型中,阻塞分为四类: 拒绝阻塞一一被阻塞的消费者被迫离开系统,这种阻塞只适用于开放模型, 因为在闭合模型中,消费者在系统中循环,不存在到达或离开系统的消费 者。 转移阻塞一一被阻塞的任务在q ,等待直到o 河以接收为止 重复服务阻塞一一阻塞消费者去q i 的下一个服务节点,重复执行在q i 的服 务直到消费者可以从o ,中移出。 服务前阻塞一一消费者进入q 蔚告知系统它的目地队列是q 如果o 满, o 肭服务就阻塞。消费者只有在q 不阻塞的情况下才能获得q 。的服务。 2 2 2q n 模型输入 q n 模型的主要实体是服务中心和消费者,两者问的关系由以下一些输入参 数描述。 消费者 消费者代表的负载强度可以描述为三种形式: 单任务模型: 九到达率适合事务负载1 。 1 终端负载和批处理负载相似,因为它们的总数是确定的。实际上一个思考时阐是0 的终端负载 和相应的批处理负载是等价的。另一方面终端负载和事务负载也是相似的。终端负载的消费者 总数是负载的上限,而事务负载则只是没有这个上限。 我们一般将事务负载模型化为开放模型,因为它有一个无限的到达消费者流。而批处理和终端 负载就被模型化为闭合模型,因为消费者在里面循环。 硕士学位论文 n 消费者总数一一适合批处理负载 n 消费者总数、z 思考肘刚一一适合终端负载。 多任务模型: c ,消费者类的数目。 列于每个消费者类c 有: a ,到达率一适合事务负载 n ,消费者总数一适合批处理负数 n ,潲费者总数、z f 思考时问一一适合终端负载。 整个多任务模型的负载强度可以表示为: u ;( ,九, ) 一适合开放模型 w n ;( n 。,n :,n c 卜一一适合闭合模型 j ;( n l o r ,2 0 1 , 疋2 ,n c o r k ) 一适合混合模型 服务中心 服务中心分为两类:队列和延迟 消费者在队列里使用服务。个消费者在队列里花费的时间由两部分组成, 等待时间和处理时间。队列代表系统资源,比如c p u 或i o 设备。 消费者在延迟中心并不需要系统资源,所以不需要竞争服务。一个消费者在 延迟中心的驻留时间就是消费者在那的服务需求。延迟中心在o n 模型中最普通 的使用就是用它表示终端负载的思考时间。同样延迟中心还可用在一些已知的平 均延迟上。例如延迟中心可以表示在带宽较窄的网络上传输大尺寸数据带来的网 络延迟。 单任务模型: 消费者和服务中心的关系可以抽象为消费者对服务中心的服务需求。一个消 费者对中心k 上的服务需求可表示为d k ,是消费者在该中心需要服务所花费的时 间。d l := b v c ,b k 是设备k 的忙时,而c 是系统完成的消费者数目。 每个消费者访问中心k 的次数是v k ,而s k 是消费者每次访问中心k 需要的 时间。所以d k = v k * s k 。d 就是一个消费者在所有中心上的服务需求总和 嚣 d e y d x 9 丛j 一性投型的短消息系统性能分析 多任务模型: c ,消费者类的数日。对于每类消费者c ,有二 d c k ,一个c 类消费者对中心k 的服务需求d “;。& 。 d c ,一个c 类消费者对所有中心的服务需求d c ;皿,。 2 ,2 ,3q n 棱型输出 卑任务模型 针对整个系统: r ,系统平均j 响应时问 x ,系统吞肚量 x ( n ) 表示在总数为n 的批处型或终i 嵩负载下的系统吞吐鸯。 q ,平均消费者驻留系统数,o k f ) 表示在到达率为a l i t i s e t ,t 1 j 心k 的平均 队列长度。 针对单个中心k : u k ,中心k 利用率 表示为中心k 忙时的比例,或者是消费者在系统内的平均数 ( 仅对延迟中心而言) r k ,消费者在中心k 的驻留时间 系统平均响应时脚r 是各中心驻留时问的和 k 肛荟r x k ,中心k 的吞吐量 如果q n 模型输入的系统需求只包含d k ,则没有足够的 信息来求解x k ,如果模型化的输入参数包括v k 和s j t i j ax k 就可以出下式算出: x k e y k x o k ,中心k 的平均队列长度 该中心的消费者总数,包括在等待的和正处理的。 多任务模型 多任务模型的所有性能值都是基于单独消费者类和将其综合得到的。 针对整个系统: 综合 r ,系统平均响应时间 x ,系统吞吐量 q ,平均消费者驻留系统数 每个类c 心,类c 的系统平均响应时间 ) ( c ,类c 的系统吞吐量 硕十学位论文 q 。,类c 的平均消费者驻留系统数 针对单个中心k 综合 u 。,中心k 利用率 r 。,消费者在中心k 的驻留时间 x k ,中心k 的吞吐量 0 。,中心k 的平均队列长度 每个类c u c k ,类c 在中心k 利用率 r “,类c 消费者在中心k 的驻留时间 x 。l k 类c 在中心k 的吞吐量 q 。_ k ,类c 在中心k 的平均队列长度 对于利用率u 。、队列长度q k 和吞吐量x k ,它们的值是直接将每个消费者类的性 能值相加得到的。 u k5 荟u c q 5 荟q 一五5 善墨t 对驻留时问r k 和系统响应时间r 来说,则是每个消费者类的相关性能值通过与 相应吞吐量加权后相加得到的。 神。k 的驻留时间心t 薹学系绷应时间r ;薹警 2 3 1l q n 模型简介 早期的性能模型是基于q n 模型的,但因其受限于不能对硬件服务器建模。 故由w o o d s i d e 扩展了一个可以对软件,硬件服务器建模的s t o c h a s t i cr e n d e z v o u s n e t w o r k s ( s r v n ) 模型【3 2 】。通过p e t r i 网对此模型进行精确转化的方法适用于小模 型。但大的s r v n 模型却由于开销太大而没有实用价值。r i o l a 提出的分层法l a 3 l 把模型分成一些子模型( 层) ,再用m v a 平均值分析法1 3 4 1 求解。分层法中的模型 和s r v n 的区别是s r v n 区分软硬件服务器。w o o d s i d e 就结合分层法和s r v n 提 出7l a y e r e dq u e u e i n g l q e t w o r k s ,是q n 的超集。 垄主堡! ! 坚型竺丝塑,皇重丝丝墼坌堑 ! = = = = ! ! ! ! = ! = = = = = _ 自! = = = 日= ! = = ! ! ! j = ! ! # = = = = = ;= = = = = = = f 一 2 3 2l q n 模型结构与参数 l q n 模型是一个无环图,结点表示软件实体和硬件设备。弧表示服务请求。 软件实体用一个平行四边形表示,硬件设备用圆表示。只有向外的弧而没有向内 的弧的结点表示客户端,中问既有向内又有向外的弧的结点表示软件服务端,叶 结点表示硬件设备( 如处理器,t o 设备,通讯网络等) 。 图2 6l q n 模型 图2 6 表示了一个w e b 艮务的简单l q n 模型:在顶部的是c l i e n t s ( 数目是随机 的) ,每一个c l i e n t 向w e b f l 匣务器发送不同的服务请求。每一种被l q n 任务提供的 服务都被模型化为一个呼叫入口( e n t r y ) ,在图里用一个平行四边形的切片表示。 每一个e n t r y 有它自己的执行时间和对其它服务的请求。在这个例子里,w e b s e r v e r e n t r y 需要d a t a b a s et a s k e d 的入口提供服务。每个软件任务( 平行四边形) 都在 一个处理器( 圆) 上运行,同时圆环表示通信网络延迟和数据库的存储设备。每 一个服务结点,不管是软件还是硬件,都隐含了一个消息队列,由那些进来等待 被响应的请求所组成。有许多e n t r y 的服务结点也只有一个请求队列,那些来自不 同e n t r i e s 的请求在一个请求队列里等待服务。而一个s e r v e r 的e n t r y 可以被分解成二 个或更多个顺序的服务段( p h a s e ) 。当p h a s e l 在s e r v e r 执行期间c l i e n t 是死锁的, 等待s e r v e r 返回一个r e p l y 。( 假定c l i e n t 是在同步请求模式下) 在p h a s e l 结束后, s e r v e r 给c l i e n t 一个r e p l y ,然后c l i e n t 解锁,继续执行。而在s e r v e r 这边,剩下的p h a s e 将会和c l i e n t 并行执行。 l q n 模型的参数如下: 消费者和它们的结合数 每一个软件任务实体的片段的平均执行时间 - 对一个设备发出请求的片段在设备上的平均服务时间和平均访问次数 对另外一个软件任务发出请求的片段的平均访问次数 硕士学位论文 一! = ! ! ! # ! ! ! ! = = = ! ! ! ! ! ! ! ! = = ! = ! = ! ! ! = ! 一 对每个请求的平均响应延迟 对每一个软件和硬件服务的调度策略 这样就可以将一个系统的上层结构及相应的行为以及性能指标引于到一个无 环图( l q n ) 中去,再通过分层排队规则得出整个系统的性能指标。 2 4 含旮f 蛸导参数的u m l 模型 u m l 模型原来并不具备定量分析的能力,现在o m g 将其扩展为能够进行先期 定量分析的模型,使其能在性能分析方面_ 展身手。由此,o m g 提出了一个u m l 扩展标准( u m lp r o f i l ef o rs c h e d u l a b i l i t y ,p e r f o r m a n c ea n dt i m e ) 1 3 5 1 该扩展标 准由一系列子扩展标准组成。扩展标准的核心是一系列的子扩展标准表示的通用 资源模型框架。它为所有分析提供了一个公共的基础。图中所示模块化结构允许 用户只使用他们需要的子集。性能分析只需要其中的p a p r o f i l e ,r t t i m e m o d e l i n g , r t r e s o u r c e m o d e l i n g 扩展标准包。该框架表达了不同的特定实时分析方法的基本元 素,从应用模型中得到的各种基于时间的分析模型的所有本质模式。扩展标准的 核心是一个通用资源模型框架和他们的q o s 属性。而通用资源模型框絮的核心部分 就是资源模型标准。它介绍了资源和q o s 的基本规则。框架结构如下: 2 4 1 通用资源建模 图2 7u m l 扩展标准框架 通用资源模型框架简称为g r m 。g r m 是任何u m l 模型定量分析的基础。 堇三堡! ! 整型竺堡丝垦至竺丝璧坌堑 ! = ! = ! ! ! ! ! ! ! = = ! ! ! ! ! ! ! = = = = g = o = 9 2 1 = ! ! ! ! = # = = = 5 一一 它由两个视图组成,一个是领域视图,在实时系统和实时系统分析方法方面的结 构和规则。g r m 的这部分主要独立于u m l 元模型扩展而来。第二个视图是u m l 视图,定义如何将领域模型的元素在u m l 里面实现。由一系列u m l 扩展组成( 构 造型、标注值,约束) 。g r m 由7 个子包组成,其结构见下图: 图2 8 通用资源模型框架结构 1 核心资源模型包 核心资源模型包是通用资源模型框架的基础,它定义了资源和q o s 的基本准 则。包含两个基本元素,一个是资源,提供的服务,服务的性能特性的描述符, 一个是其相关的具体实例。任意实例能够被给定的描述符创建,描述符用来表示 实例类型。而通用资源模型框架的核心就是资源实例的概念。 2 因果模型包 因果模型包是基于u m l l 4 的动态语义的,但它具有更多的细节,在某些情 况下也更精确。它引入了事件( 描述为一种状态的改变) 这一实体。事件有许多 类型,因果模型主要考虑的是信号产生,信号接收,剧情开始,剧情结束这四类 事件。 信号,是个在调用对象和被调用对象间传输的实体。当一个对象执行一个 动作,调用另外一个对象( 接受者) 的操作或发送一个信号给它时,一个信号生 成事件产生。它导致了一个信号的创建。而这个信号又将导致一个信号接收事件 的产生。该事件的产生将引发在接收端的传输或是一个方法的执行。而这又将导 致一个剧情的执行,一个剧情的执行又将导致该剧情设定的一系列动作的执行, 这些动作又将产生更多的信号。 3 资源利用模型包 硕士学位论文 资源利用模型是核心资源模型的补充。鉴于核心资源模型表示通用资源框架 的服务端,资源利用模型则表示通用资源框架的客户端。其基本元素 r e s o u r s e u s a g e 表示客户端如何使用资源及其提供的服务。r e s o u r s e u s a g e 可以分别 表示为静态和动态两种,使用哪种表示,取决于分析需要。另一元素u s a g e d e m a n d 是由事件引起的,表示外部加载在系统上的负载。它与q o s 属性结合起来就可表 示当前系统需要的q o s 值。a n a l v s j s c o n t e x t 定义了分析的起始点,由它开始,跟随 该模型的链接就可提取分析所需要的相关信息。 4 动态利用模型包 动态使用模型,表示为一个剧情实例一一由预定的一系列执行动作( 步骤、组 成。这些步骤按前任与继任的模式排序。在并发线程结合或分叉的地方,则表现 为一个步骤存在多个前任或继任。 一个步骤的粒度通常根据要考虑的细节级别选择。因此,一个步骤可能分解 成一系列更小粒度的步骤。每一个剧情可以利用一个或多个资源和相应的资源操 作。资源提供的q o s 值和执行动作需要的q o s 值必须明确定义。任何动态实时 分析的主要问题都是比较剧情使用的资源和服务提供的q o s 值和执行剧情需要 的q o s 值。 5 资源类型包 资源类型包将资源划分为若干类型 基于用途,可分为: 一 处理器资源:虚拟的或物理的具有处理能力,存储和执行程序代码的资源。 - 通信资源:能在其他资源间进行通信的资源。 - 设备:处理器资源和通信资源外的其他资源( 如硬盘,传感器,监视器等) 。 基于活动,可分为: 主动资源:在没有被外界信号促使的情况下能够自己生成信号的资源。 - 被动资源:不能自己生成动作,只能在信号到达后产生反应。 基于保护,可分为 - 保护资源:提供独占服务的资源,服务并发访问受到访问控制策略限制。 非保护资源:没有访问保护服务的资源。 6 资源管理包 r e s o u r c e b r o k e r :负责管理资源的访问控制策略 r e s o u r c e m

温馨提示

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

评论

0/150

提交评论