




已阅读5页,还剩58页未读, 继续免费阅读
(计算机应用技术专业论文)基于性能和伸缩性的web应用系统优化设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学硕士学位论文 摘要 基于浏览器朋臣务器模式的w e b ( 又称w o l dw i d ew e b ,环球网) 应用系统建立在 三层或n 层体系臻孛每之上,它采用动态w e b 技术,缭企业提供一个围琢互联网企业 内部网环境下的信意资源集成方式。凭借较低的硬件需求,较短的开发周期,良好的 可扩展性和可维护性,它融吸引了大批用户,成为当前企业信息化建设的首选技术。 在金韭缀w e b 瘟蠲系统搜广泛应弼懿强对,毽暴箨宝一些不霹忽援豹翘题,魏系 统的安全性不易控制,响戚速度慢等。w e b 应用系统发布在国际互联网,企业内部阏环 境中,虽然互联网技术已缀使网络传输速度提高了不少,但用户对系统的响应遽废还 怒撵窭7 雯裹豹簧求。 性能和伸缩性是影响w e b 应用系统响应时间的两个主要系统参数,二者既有本质 的区别,也有糟密切的联系。造成基于j a v a2 平台企业版上w e b 应用系统性能和伸缩 谯簸颈豹原颡笺杂,囊毒平台自身潜在麓缺陷,毽毒开发者豹技术和系统舞郝运行臻 蟪的影响。基于性能和伸缩性的w e b 应用系统优化设计以s u n 公闭的j a v a2 平台企 她舨为开发乎螽,强调应用系统的方法,力图从系统开发的各个环带来避免和消除瓶 颟,并重点讨论了在系统设计、系统实糯、系统的经能和伸缩性调试等环节的伉纯策 略和具体措施。 华中毫嬲魄能诗量绞谤系统是一个蘩予j a v a2 乎螽金韭叛翦众娩缀w e b 盛耀系 统,基于性能和伸缩性的w e b 应用系统优化设计技术在其第二版的开发中得至成功应 用。通过一系列的优化措施,缩短了系统的响应时间,不仅提高了系统的性能和伸缩 攥,嚣萎璜强了系统豹稳定赣,穰菇遣游跫了客户豹鬟要。 美键词:响应时间,性能,f l 缩性,吞然辩,优化设计 华中科技走学硕士学位论文 = = = = = = = = = = = = = = = = 。= = = = 一 一 a b s t r a c t aw e b a p p l i c a t i o ns y s t e mb a s e do nb r o w s e s e r v e rp a t t e r nb u i l d so nt h et h r e et i e r so r nt i e r s ;i ta d o p t sd y n a m i cw e bt e c h n o l o g yt o p r o v i d ee n t e r p r i s ea ni n f o r m a t i o nr e s o u r c c i n t e g r a t i o nm a n n e ro nt h ei n t e m e t a n t r a n e t i nv i r t u eo fl o w e rh a r d w a r ed e m a n d s ,s h o r t e r d e v e l o p m e n tc y c l e ,n i c e re x t e n s i b i l i t ya n dm a i n t e n a n c e ,i ta t t r a c t sl a r g eq u a n t i t i e so fu s e r s , a n db e c o m st h ep r e f e r r e dt e c h n o l o g yf o r e n t e r p r i s ei n f o r m a t i o n w i t hb e i n gu s e dw i d e l y , t h ee n t e r p r i s el e v e lw e ba p p l i c a t i o ns y s t e me x p o s e ss o m e p r o b l e m st h a tc o u l dn o tb ei g n o r e d :s u c ha ss y s t e ms e c u r i t yi sn o te a s i l yc o n t r o l l e d , r e s p o n s es p e e di ss l o w , e t c aw e ba p p l i c a t i o ns y s t e mw i l lb ep u b l i s h e do ni n t e m e t i n t r a n e t , a n di n t e r n e tt e c h n o l o g yh a si m p r o v e dt h en e t w o r ks p e e d ,b u tu s e r ss t i l ls h o wah i g h e r d e m a n do nt h er e s p o n s es p e e do faw e b a p p l i c a t i o ns y s t e m 。 p e r f o r m a n c ea n ds c a l a b i l i t ya r et h et w om a i n s y s t e mp a r a m e t e r si n f l u e n c i n gt h e r e s p o n s et i m e o faw e ba p p l i c a t i o ns y s t e m ,t h e yh a v ee s s e n t i a ld i f f e r e n c e sa n dc l o s e r e l a t i o n s t h ec a u s a t i o n st h a tr e s u l t 。i np e r f o r m a n c ea n ds c a l a b i l i t yb o t t l e n e c k so faw e b a p p l i c a t i o ns y s t e mb a s e do nj 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) a r ec o m p l e x ,w h i c h a r el a t e n t s h o r t c o m i n g so ft h ep l a t f o r mi t s d ld e v e l o p e r s ( j a v a2p l a t f o r m ,e n t e r p r i s e e d i t i o n ) t e c h n o l o g ya n do u t i n gr u ne n v i r o n m e n t t h ew e ba p p l i c a t i o ns y s t e mo p t i m i z a t i o n d e s i g nt e c h n o l o g yb a s e do np e r f o r m a n c ea n ds c a l a b i l i t yt a k e ss u n sj 2 e ea sd e v e l o p m e n t p l a t f o r m ,e m p h a s i z e st oa p p l ys y s t e mm e t h o d st oa v o i da n de l i m i n a t e sb o t t l e n e c k sf r o ma l l t h ed e v e l o p m e n ts t e p s ,a n dp a y sm o r ea t t e n t i o nt od i s c u s s i n go ft h eo p t i m i z a t i o nm e a s u r e s a n dm e t h o d so ns y s t e md e s i g n ,c o d i n g ,s y s t e mp e r f o r m a n c ea n d s c a l a b i l i t yt u n i n g t h ec e n t r a l - c h i n ap o w e rn e t w o r ke l e c t r i c i t yc o m p u t a t i o ns t a ts y s t e mi sa ne n t e r p r i s e l e v e lw e ba p p l i c a t i o ns y s t e mb a s e do nj 2 e ep l a t f o r m ,t h eo p t i m i z a t i o nd e s i g nt e c h n o l o g y b a s e do np e r f o r m a n c ea n ds c a l a b i l i t yi su s e ds u c c e s s f u l l yi ni t ss e c o n de d i t i o n d e v e l o p m e n t t t 华中科技大学硕士学位论文 as e r i e so fo p t i m i z a t i o nm e a s u r e sr e d u c e si t sr e s p o n s et i m e ,n o to n l yi m p r o v e si t s p e r f o r m a n c ea n ds c a l a b i l i t y , b u ta l s ob u i l d su pt h es y s t e m ss t a b i l i t y , s a t i s f i e st h eu s e r s d e m a n d s k e yw o r d s :r e s p o n s et i m e ,p e r f o r m a n c e ,s c a l a b i l i t y , t h r o u g h p u t ,o p t i m i z a t i o nd e s i g n i l l 独创性声明 零入声明所黧交懿学位论文是我夸久程导簿指导下避孬静礤究z 终及取褥 的研究成果。尽我所知,豫文串已经标明弓| 用豹内容辨,本论文不包各任何其他 个人绒集体已经发袭或撰写过的研究成果。对本文的研究做出贡献的个人和集体, 均已禚文孛娃骧确方式稼臻。本人完全意识刭零声硬驰法律维栗喹本入承接。 学位论文作者煞名f 毒易巾够 翻期:硎年毕月了艿翻 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校 有权绦黧并向国家毒关部门或枫构送交论文的复印髂和电子舨,允诲论文被查阅 和借灏。本人授权肇中辩技大学弼戳将本学僚论文豹全部躐部分内容编入有关数 据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。 保密口,在年鳃瓷器逶愚零授权书。 本论文属于 不保密匝 ( 请在以上方框内打“4 ”) 学位论文作者签名。毒科勺 舀麓:一粹9 旁弼莓 指导教师签名: 毯麓。嘶年霾 华中科技大学硕士学位论文 1 1 课题背景 1 1 1 企业信息化建设面临的挑战 1 绪论 现代企业为了能够对市场需求、政府行为做出快速反应,迫切希望有效整合企业 的内外部资源。为了提高企业的核心竞争力、我国政府也提出了以信息化改造传统产 业,带动工业化的方针。但企业信息化建设面l 晒巨大的挑战: f 1 1 需要整合的信息种类繁多 在企业中,各种不同的用户取决于各自的特定需要,采用多种不同的形式使用和 生成信息,经常发现同一种信息数据有着多种不同的使用形式。 f 2 ) 业务处理复杂 大多数企业的业务处理涉及到复杂的信息捕获、逻辑处理和数据共享,使得建立 企业级应用程序的技术和体系结构要具有相应的复杂性。 ( 3 ) 遗留的应用系统种类繁多 经常的是企业在不同时问已经建立了一些满足不同业务处理要求的特殊应用系 统,这些应用系统采用了不同的体系结构和技术,并且仍然在发挥其各自的作用,各 子系统的数据是动态的、异构的,多数情况下,这些系统已形成了一个个巨大的信息 孤岛。信息化建设面临着如何让这些异构系统信息共享、彼此交流、协同工作的要求 【i l 。 当前企业经济开始向信息经济过渡,信息资源在企业竞争中的地位日益重要。企 业当然希望在信息化建设方面投入少,功能多,见效快。但实施结果却不尽人意,往 往是投入不少,收效不大。在我国,由于政府和企业的标准化工作相当落后,整体信 息化程度参差不齐,造成企业信息化建设的难度更大。 1 1 2 企业级应用程序开发者需要解决的问题 面对企业信息化建设的挑战,企业级应用程序的开发者必须解决如。f l a j 题: ( 1 ) 开发效率 有效地丌发和实施企业级应用程序,是客户和7 1 :发者共同追求的目标。但目前的 华中科技大学硕士学位论文 开发行为还主要依赖于开发者的技术水平,尤其是新技术和新标准的实施,更需要开 发者具备很高的素质:因而如何降低开发难度,提高开发效率成为亟待解决的难题。 ( 2 ) 可靠性和可用性 系统必须能够完整、准确地处理企业的商业逻辑,系统的可靠性和可用性是企业 对系统的基本要求之一。 , 安全性 企业信息是企业的战略资源。随着企业规模的扩大,应用日趋复杂,系统更加庞 大,如何有效实施一个系统级的安全模型显得尤为重要。 ( 4 ) 扩展性 随着企业业务的发展和企业环境的变化,企业需要随时增加业务、调整商业规则, 企业级应用程序应该具有扩展和调整系统功能的能力。 ( 5 ) 集成性 企业信息化不应该,也不可能对企业遗留的系统全部重建,为了最大程度地保护 已有投资,企业级应用程序应该实现与遗留系统的集成。 f 6 ) 伸缩性 伴随网络技术的发展和企业业务、活动范围的扩大,电子商务逐渐成为企业经营 的一种重要方式,这使得企业信息系统的用户充满不确定性:往往是好的信息系统巩 固、增强了企业的竞争地位,同时也会吸引更多的用户。因此,企业级应用程序应该 具有保持用户响应的能力。 1 2 国内外概况 企业级应用程序开发者在实践中认识到亟需一个有效的系统体系结构来指导开 发行为,以降低开发难度,提高开发效率,从而有力地推动了软件体系结构的发展。 1 2 1 层次型软件体系结构的研究进展 所谓软件体系结构,是“从一个较高抽象层次来考虑组成系统的构件、构件之问 的交互,以及由构件与构件交互形成的拓扑结构的关系。这些要素应该满足一定的限 制,遵循一定的设计规则,能够在一定的环境下进行演化。软件体系结构应能反映系 统开发中具有重要影响的设计决策,便于各种人员的交流,反映多种关注,照此开发 的系统能完成系统既定的功能和性能需求” 2 1 。 2 华中科技大学硕士学位论文 软件体系结构的风格,表现为体系结构的框架,是指系统所拥有的共同的结构组 织模式和语义特性1 3 j ,。在企业级方案中应用较多的是层次结构。 ( 1 ) 单层结构 蘼 l 应用逻辑l = j 图1 1 单层结构 单层结构中应用程序所涉及的数据库、用户界面和应用逻辑紧密藕合在一台主机 上,用户通过哑终端访问主机( 如图1 1 所示) 。这是早期的结构,系统的可维护性差, 修改困难;由于各功能部件结合紧密,复用性差;不支持分布式,不具备扩展性和伸 缩性。 ( 2 ) 两层结构 两层结构把应用逻辑和用户界面从应用程序中分离出来,安装在单独的客户机 ( 俗称“胖客户端”) 上,服务器作为客户机程序与数据库之间的传输控制器( 如图 1 2 所示) 。这种结构又称“c s ( c l i e n t s e r v e r ,客户机朋日务器) 结构”,它把主机的 大部分负载转移到客户机上,交互性好,对信息安全的控制能力强。缺点是系统性能 受客户机制约,容易形成网络瓶颈;系统安装麻烦,维护和升级困难,一般用在小规 模的专用网上1 4 1 。 图1 2 两层结构 ( 3 ) 三层结构 三层结构把应用逻辑从两层结构的客户端中分离出来,置于一个应用服务器中 ( 如图1 3 所示) 。这种结构把用户界面与应用逻辑相分离,对同一个业务逻辑可建立 华中科技大学硕士学位论文 和分发多种用户界面:也可在不改变用户界面的情况下,方便地修改、增加应用逻辑, 设计灵活,支持扩展性、复用性:此外,支持更大范围的数据源,可以是数据库、x m l ( e x t e n s i b l em a r k u pl a n g u a g e ,可扩展标记语言) 文件集合,甚至是l d a p ( l i g h t w e i g h t d i r e c t o r ya c c e s sp r o t o c o l ,轻量级目录访问协议) 服务器的目录服务。三层结构的不 足之处是:程序员必须处理分布式环境下的事务、线程、安全、网络协议等事项,编 程复杂:平台框架提供商往往使用不同的a p i 接口,造成软件的可移植性差f 4 j 。 圈1 3 二层结构 ( 4 ) n 层结构 近年来,企业级应用程序的规模不断扩大,系统需要实现的功能更加复杂。为支 持多种配置和集成已有系统,出现了所谓的n 层结构( 如图1 4 所示) 。系统设计者 图1 4n 层结构 可根据需要对廊埘逻辑进行多层划分,同时把系统所需要的公共基础服务如安全、事务、网络 传输、缓存、生存周期管理等独立山米,由一个运行时环境提供以降低开发难度【4 l on 层结构 4 华中科技大学硕士学位论文 的实现一般需要组件技术的支持。 1 2 2w e b 应用系统在企业级解决方案中得到广泛使用 w e b 应用系统指以w e b 浏览器为统一的用户界面( 俗称“瘦客户端) ,通过h r r p ,( h y p e r t e x tt r a n s f e rp r o t o c o l ,超文本传输协议) 、t c p i p ( t r a n s m i s s o nc o n t r o l p r o t o c o f i n t e r n e tp r o t o c o l ,传输控制协议网际协议) 协议与应用服务器通信,并动态 处理数据信息的具有三层或n 层体系结构的应用系统。 现代企业迫切需要为客户、供应商及合作伙伴提供准确、便捷、低成本、高效率 的信息服务,以稳固并扩展客户群体,提升企业的竞争力;同时,互联网技术、w e b 技术和电子商务理论也有了快速发展,互联网已突破了传统使用范围。在这种情况下, 基于w e b 的应用系统丌始出现在企业级解决方案中,并在近两年得到广泛使用。 ( 1 1w e b 应用系统工作原理 w e b 浏览器把客户请求数据按照h t t p 协议打包后发送给w e b 服务器,w e b 服 务器根据u r l ( u n i f o r mr e s o u r c el o c a t o r ,统一资源定位器) 地址把请求转发给相应 的服务器端脚本程序。服务器端脚本程序在服务器提供的运行时环境的统一调度下, 通过中问件与后台数据源交换数据,并把获取的数据按照一定的格式,如h t m l ( h y p e r t e x tm a r k u pl a n g u a g e ,超文本标记语言) 、x m l 、p d f ( p o r t a b l ed o c u m e n t f o r m a t ,便携式文档格式) 等响应给浏览器( 如图1 5 所示) 。 图1 5w e b 麻_ l j 系统作原理 h 1 1 p 协议1 x 规定了1 2 种请求方法:g e t 、h e a d 、s h o w m e t h o d 、p u t 、 d e l e m 、p o s t 、l i n k 、u n l 玎、k 、c h e c k i n 、t e x t s e a r c h 、s p a c e y u m p 、 s e a r c h 。w e b 服务器至少要支持g e t 和p o s t 方法,前者用于从服务器获取数据 信息,后者用于通过表单向服务器提交数据。 华中科技大学硕士学位论文 ( 2 ) 动态w e b 技术 动态w e b 技术指把动态数据带到w e b 页面上的技术。已出现的动态w e b 技术有 辍下死静: 妇泌、g i ( c o m m o n g a t e w a y i n t e r f a c e ,公共网关接口) 技术:用c g i 程序充当 l t t p 请求和数据之间的网关,幽瑚r r p 请求到达服务器时,服务器调度程序在服务器外启 动一个c g i 避程来处理请求,进程在生成返回绘w e b 服务器的晌应螽自动撤消。出 予c g i 技零霈要频繁琏建立帮撤消遥弦,系统运行歼镑太,静炼淫差。魏癸,c g i 技术不支持分布式处理,不支持x m l 技术和组件技术,扩展性麓,属于早期技术【5 i 。 i s a p i n s a p i ( i n t e r n e ts e r v e ra p p l i c a t i o np r o g r a m m i n gi n t e r f a c e n e t s c a p e s e r v e ra p p l 泌a f i o np r o g r a m m i n gi n t e r f a c e ,互联嚣壤务器旗应蘑骧稳援h n e 转c a p e 缀务 嚣端应用编稔接1 2 1 ,其中n e t s c a p e 是一茭国公司) 技术:针对c o l 技术的缺陷,m i c r o s o f t 和n e t s c a p e 锫自推出了自己专用的服务器端a p i ( a p p l i c a t i o np r o g r a m m i n gi n t e r f a c , 癍用编程接翻) ,溺这种a p l 编写静h t f p 请求处理程序可以和w e b 服务器装入嗣一 个进程,为多个请求服务。由予遗程装入辩闯灵活,魅在空辩趣融会被服务器舞魂卸 载,因此能够提供比c g i 更好的性能,但局限于厂家特定的平台,编程困难。 s s j s ( s e r v e r - s i d ej a v a s c r i p t ,服务器端j a v aj a v a s c f i p t ,其中j a v a s c r i p t 楚一种 瓣零搐述诿畜) 技本:s s j s 技术把客户壤辫奉逶畜j a v a s c f i p t 扩袋蔓簸务器满,经其 支持数据库、电子邮件、对话管理等,程序在服务器端编译运行,缺点是依赖于n e t s c a p e 的h r r p 服务器。 p h p ( p e r s o n a lh o m ep a g e :h y p e r t e x tp r e p r o c e s s o r ,令久圭炎:超文本颓她理程 序) 技术:p h p 技术提供一种跨平台的服务器端的嵌入式脚本语亩,最早出现予1 9 9 4 年。它大量借用c 、j a v a 簿语言的语法,并结合其囱己的特性,饿w e b 开发者能够 快速地完成动态页面的生成。p h p 有极其强大豹数据蓐支持,代码可编译成能与许多 数据库辕连接瓣交数,缺纛楚支持大麓摸分毒计算溪雉,魏乡 掰撬供嚣数据疼臻霸彼 此不统- - i 邓。 a s p ( a c t i v es e r v e r p a g e ,动态服务器主页) 技术:a s p 是m i c r o s o f t 公司于1 9 9 8 零搀基豹一秘据揆动态w e b 鼓零魏运行_ 蒡| :境,箕模型澹予a t l a i r e 公霉麴c o l d f u s i o n 技术,支持程h t m l 页丽中嵌入脚本程序。a s p 提供一组内建对象与指令,储助脚 本程序调用a c t i v e x 组件,以完成一些服务器端操作。客户请求a s p 页面时,页面 被w e b 服务器提交给引擎处理程序解释执行,执行缎粱以h t m l 文挡的形式涎列绘 溯菱器。a s p 按宋不莜赖予特定静溺览嚣,其脚本程彦语言可良是v i 3 s c d p t 、j s c r i p t 、 p e r l 、t e l 等,但安全性差,只能用在m i c r o s o f t 公司的w e b 服务器上【5 1 。 6 华中科技大学硕士学位论文 ) s e r v l e t 技术:s e r v l e t 是s u n 公司于1 9 9 8 年推出的类似c g i 功能的动态w e b 技术。s e r v l e t 用j a v a 编写,被编译成字节码后置于w e b 服务器中。s e r v l e t 在首次接 收到浏览器请求时,被容器装入内存,同时接收容器传递的两个参数:请求对缘 s e r v l e t r e q u e s t 和响应对象s e r v l e t r e s p o n s e 。s e r v l e t 能够根据请求对象的要求,完成商 业逻辑的处理,并在s e r v l e t r e s p o n s e 对象中写入响应数据,然后反馈给容器。容器对 饭馈回的s e r v l e t r e s p o n s e 对象进行解析,生成h t t p 响应流给浏览器。s e r v l e t 技术的 特点是:在服务器运行期间,一个s e r v l e t 只有一个进程,对于多次请求,容器只用轻 量级的线程来处理,系统资源占用少;此外,有良好的安全性【6 l 。 j s p ( j a v a s e r v e rp a g e s ,j a v a 服务器页而) 技术:j s p 技术是s u n 公司于1 9 9 9 年6 月推出的另一种动态w e b 技术,其模型也源自a l l a i r e 公司的c o l d f u s i o n 技术, 通过在h t m l 页面中嵌入脚本、组件等来实现动态w e b 页面的输出。脚本程序包括 在客户端运行的j a v a s c r i p t 代码和在服务器端运行的j a v a 代码。组件包括j a v a b e a n s 、 j s p 标记以及j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ,j a v a2 平台企业版) 组件。此 外,j s p 也提供一组指令和内建对象来简化编程。j s p 程序置于w e b 服务器中,首次, 接收到i 1 f r p 请求时被j s p 容器编译成s e r v l e t 类,以后的请求处理过程与s e r v l e t 相 同。与s e r v l e t 不同的是不需要在程序中用p r i n t l n 语句产生h t m l 文档,能够很好地 实现表示逻辑与商业逻辑的分离;其编程简单,支持组件复用和平台移植1 6 1 1 7 1 。 a s e n e t 技术:a s r n e t 技术是m i c r o s o f t 公司于2 0 0 1 年1 1 月推出的动态 w e b 技术。其建立在m i c r o s o f t 公司的n e t 平台上,与a s p 兼容,但有本质的不同, 是m i c r o s o f t 用来与s u n 竞争动态w e b 市场的全新技术。a s p n e t 几乎完全基于组 件和模块化,并通过x m l 及s o a p ( s i m p l e o b j e c t a c c e s s p r o t o c o l ,简单对象访问协 议) 协议,支持w 曲服务( w e bs e r v i c e s ) 。a s p n e t 所使用的脚本语言有c 撑、v i s u a l b a s i c n e t 和j s c r i p t ,a s e n e t 网页第一次被请求时翻译成m s i l ( m i c r o s o f ti n t e r m e d i a t e l a n g u a g e ,微软中间语言) 代码储存在服务器上,然后被j i t ( j u s t i n t i m e ,即时编 译,种运行时编译执行技术) 编译成本地机器码;网页第二次被请求时,只需再编 译m s i l 代码即可。a s e n e t 的即时编译、本地优化、缓存服务、零安装配置、基于 运行时的安全机制等带来了卓越的性能,但遗憾的是仅能在m i c r o s o f t 公司的w e b 服 务器上运行i 。 以上8 种动态w e b 技术中,s e r v l e t j s p 和a s e n e t 在企业级w e b 应用系统中被 广泛使用。 0 1w e b 应用系统的优点 使用简单,界面友好:系统的用户界面统一为浏览器,使用简单方便,不需要 7 华中科技大学硕士学位论文 专门的培训。 易于维护和升级:由于客户端无需安装专用的软件,对应用系统进行升级时, 只需更新服务器端的软件即可,减轻了系统维护与升级的成本。 扩展性好,有效保护企业投资:由于采用标准的t c p i p 、h 1 t r p 协议,它可以 使网管系统与国际互联网企业内部网有机结合,各模块相对独立,系统扩展容易。 , 信息共享度高:w e b 应用系统使用h t m i j x m l 交互信息,其数据格式是一个 开放标准,得到业界广泛支持。 1 2 3w e b 应用系统开发平台 当前流行的w e b 应用系统开发平台有m i c r o s o f t 公司的n e t 和s u n 公司的j 2 e e 。 二者共同之处是都给企业级应用提供所必需的安全、事务、缓冲、生存周期等基础服 务f 9 l ,方便企业级w e b 应用系统的丌发。 ( 1 ) n e t 平台 m i c r s o f t 推出n e t 平台的目的是提供一个更容易建立网络应用程序和网络服务 的环境。n e t 主要由公共语言运行时、通用类库和应用模版组成。公共语言运行时 处于平台底层,具有交叉语言集成、自描述组件、简单配制、版本化以及集成安全服 务等特点,支持任何编程语言所写的代码,并负责管理内存分配、启动或取消线程和 进程、实施安全性策略等。公共语言运行时之上为服务框架,它提供一套能够被任何 现代编程语言调用的、统一面向对象的、层次化的、可扩展的类库集。应用模版处于 平台的顶层,有两类应用模版:a s e n e t 和w i n d o w sf o r m s ,其中a s e n e t 提供了 一个w e b 应用程序模型i 。 ( 2 ) j 2 e e 平台 j 2 e e 平台是s u n 公司推出的企业级应用系统开发平台“为减少成本。加速应用 程序的设计和部署,j 2 e e 提供一个基于组件的方法来设计、丌发、装配、部署企业 级应用程序”【1 l j 。j 2 e e 平台提供以下支持:“一个多层分布式应用模型,可复用的组 件,一个统一的安全模型,灵活的事务处理,借助一个丌放的基于x m l 的数据交换 标准和协议支持w e b 服务”l l i l 。 1 2 4w e b 工程研究现状 随着使用范围和使用广度的扩大,丌发企业级w e b 应用系统所涉及的知识更加广 华中科技大学硕士学位论文 阔,如计算机科学、信息系统、超文本、图像设计、信息结构、文档管理以及软件工 程等。由于不少w e b 应用系统丌发者没有足够重视诸如需求分析、开发方法和丌发 过程、工程质量、性能评价、人员组合和项目管理、可维护性和伸缩性等方面的研究, 过分依赖个人或小团体的经验,生成的系统缺少完整的测试和文档,一度导致了“w e b 危机( w e bc r i s i s ) ”1 1 2 】的出现。 , c u t t e rc o n s o r t i u m 在文献1 2 1 中报告:已经交付的系统8 4 不能满足商业需要, 7 9 的项目受延期困扰,6 3 的项目超过预算,已经交付的系统有5 3 的需求功能没 有实现,已经交付的系统有5 2 的性能很差。 针对w e b 开发中的问题,1 9 9 7 年澳大利亚w e s t e r ns y d n e y 大学首先成立了一个 w e b 研究组织w e b i s m ( w e b b a s e di n f o r m a t i o ns y s t e m sa n dm e t h o d o l o g i e s ,一个基于 互联网信息系统和技术的研究组织) ,1 9 9 8 年在b r i s b a n e 的w w w 7 ( t h e7 t h i n t e r n a t i o n a l w o r l d w i d e w e b c o n f e r e n c e ,第七届国际环球网会议) 会议上提出了w e b 工程的概念1 1 1 l : 使用科学的、工程的和管理的原则以及系统的方法来丌发、部署和维护高质量的 w e b 应用系统和w e b 应用程序。目的是使当前混乱的w e b 丌发可控,最小化风险、 增强w e b 的可维护性和质量。 f 1 1w e b 工程与传统软件工程的区别 w e b 工程采用了一些软件工程的原理,但和传统软件工程相比,还是有很大的不 同,体现在以下几点: 传统的软件工程强调的是系统功能的完善,是面向功能的;而基于w e b 的应用 系统既强调功能的实现,也强调信息的含量,大多是面向文档的。 传统的软件界面简单,而基于w e b 的应用系统可在多种程度上与多媒体结合。 传统的软件开发是功能驱动或过程驱动,而大多数基于w e b 的系统是内容驱动 或功能驱动。 传统的软件系统用户可以圈定在某个范围内,而基于w e b 的系统用户多样。 ( 2 ) w e b 工程所涉及的问题 i c s e ( i n t e m e tc o m p u t e rs o f te n g i n e e r i n g ,一个关于互联网计算机软件工程的组 织) 工作组把w e b 工程所涉及的问题分为以下几个方面【1 3 - 坫】: w 曲语意学、w e b 信息的结构。 、v e b 的质量、性能评估、工程预算。 w e b 应用系统的应用:基于w e b 的实时系统、遗留系统的移植和集成。 w 曲测试技术及测试工具。 9 华中科技大学硕士学位论文 辅助丌发工具。 w e b 引起的版权问题、法律问题、社会问题。 与w e b 技术相关的教育与培洲。 ( 3 ) w e b 工程研究现状 近几年有关w e b 工程的研究取得了一些进展,p l j 文献 1 6 1 探讨了文化背景和个人 性格对组织开发团队和项目管理的影响,文献【1 7 1 9 】研究了如何利用面向对象的技术 来支持组件复用和设计复用,文献1 1 9 1 研究了w e b 工程的实质,文献【2 1 】介绍如何开 展有关w e b 技术的教育培训,文献【2 2 1 给出一个有关w e b 应用系统的质量评价模型, 文献f 2 3 1 研究了有关w e b 应用系统的工程预算问题。但这些研究多偏重于w e b 站点, 对企业级的w e b 应用系统涉及较少,特别是关于企业级w e b 应用系统的质量评价、 质量控制等还是空白。 1 3 本课题主要研究工作 目前,在企业级w e b 应用系统的开发与使用中出现了一些问题,其中一点就是不 少系统的响应时间不能满足客户的需求:还有的系统在并发访问的规模扩大时,响应 时间会陡然增加,甚至拒绝服务。 本文将基于j 2 e e 平台阐述影响w e b 应用系统响应时间的两个主要系统参数一系 统的性能和系统的伸缩性,分析造成系统性能和伸缩性瓶颈的原因,最后提出一个解 决问题的系统方案。 本文内容安排如下: 第一章介绍课题研究的背景和国内外概况。 第二章用定量的方法阐述影响w e b 应用系统响应时间的两个主要系统参数一性 能和伸缩性,全面分析造成w e b 应用系统性能和伸缩性瓶颈的原因。 第三章是本文的重点,提出一个基于性能和伸缩性的w e b 应用系统优化设计方 案,详细介绍其中的优化策略和具体措施。 然后在第四章介绍基于性能和伸缩性的w e b 应用系统优化设计技术在华中电网 电能计量统计系统中的应用。 最后是第五章,总结全文,展望有待继续研究的几个问题。 1 0 华中拜技大学硕士学位论文 2w e b 应用系统的性能和伸缩性分析 2 1 基于j a v a2 平台企业版的w e b 应用系统椴架及相关技术 。 j 2 e e 平套氆魏一令分瑟框絮模型 其反映了系统程h 这一点( 即并发用户数为 时) 的平均响应时间澍并发请求数 改变的敏感程度,因此可用式( 2 1 ) 来表示系统在h 这一点的伸缩性。假设用k 0 ) 表 示系统瓣l 枣缩蛙,粼毒: 如* ( 一) 嘣炉警= 掣+ 斋= 掣斋 z , o 。( 月) c 1 说明系统响应时悯在这一点对并发请求数的改变不敏感,系统还可接 受更多的并发请求;h ( n ) ;l 说明系统响应时问在这点对并发请求数的改变比较敏 感,增翱势发请求数鞭骞可能导致较长戆醺痖辩淹,甚至系绞挺绝照务。 对予系统在菜范围泌,n 2 i 肉的平均伸缩髓 如图2 2 掰示) ,可瑁巾点处酾垂| l 缩 性近似代替,如式( 2 3 ) 所示: 致母样。丽n 2 + n l 泣3 ) ( 3 ) 吞吐量( t h r o u g h p u t ) 与伸缩性的关系 在式( 2 。2 ) 中考虑: 其中;:面表示并发请求数为1 时,系统的平均响应时间,可用系统的性能i 代 替,则式( 2 。4 ) 可袭承失; 咖,* 等 砖予w e b 应鬻系统,隧着势发谚求数# 懿簸大,系统懿韵痤辩秘瓠 ) 会凄鸯籍。 斋簪 上一 互吣逦州尘删 华中科技大学硕士学位论文 当( n ) 取得系统可接受的最长响应时间时所对应的月称为系统的吞吐量。显然对给定 的系统,吞吐量越大;h ( 一) 越小,系统的伸缩性越好,因此在分析伸缩性时,也常 用吞吐量来衡量。 响应时间 即2 ) ( ,1 1 ) n 1n 2 并发请求数 图2 2w e b 廊j _ h 系统响应时问与并发请求之间的关系曲线 系统的性能和伸缩性是系统表现的两利不同特性,两者既有本质区别,又有密切 联系,共同影响着系统的响应时问。 2 4w e b 应用系统性能和伸缩性瓶颈的原因分析 2 4 1 根本原因 w e b 应用系统之所以开发效率高、易维护、易扩展和易移植,主要得益于组件化 的分层体系结构、j a v a 语言固有的简单性( 如对多线程和垃圾内存收集的本地化支持, 对分布式计算的内置式支持) 和特有的虚拟机处理机制。然而,这些所谓的优点是一 把双刃剑,也会给w e b 应用系统自身带来潜在的性能和伸缩性缺陷,成为性能和伸缩 性瓶颈的根本原因。主要表现在: r 1 ) 虚拟机技术和解释性语苦 出于可移植性目的,j a v a 自带运行时环境j v m ,避免了代码对底层的操作系统和 硬件的依赖;另一方面,j a v a 又是一种解释性语言,与直接编译出本地化代码的c c + + 语言系统相比,这两点肯定带来性能上的缺陷。 f 2 ) 内存碎片自动回收技术 内存碎片自动收集意味着程序员不必考虑内存泄漏带来的系统崩溃,但当前的内 存碎片收集程序倾向于中断位于虚拟机中的每一个线程,对于处理大型事务的系统, 华中科技大学硕士学位论文 虚拟机被占用的时间可从几毫秒到几秒,这也能造成系统性能的下降。 ( 3 1 多层抽象代理技术 j 2 e e 平台采用多层代理的组件技术,用组件为底层技术提供高层次的抽象,以 降低开发难度和实现可移植性。组件隐藏了分布式编程、网络协议、组件定位等实现 的复杂性,但在实现其自身功能的同时,还要代理其下一层,直至到达并激活用户代 码。这样以来,一个功能实现的背后往往是多个组件的协同工作,并要跨越多个代理 层和多个j a v a 虚拟机,甚至多个服务器,这无疑会增加系统对服务器资源和网络带宽 的竞争,增加代码的处理时问,成为系统的性能和伸缩性,特别是伸缩性的退化源。 2 4 2 直接原因 w e b 应用系统用于企业级解决方案的时间还比较短,有关w e b 工程的研究还处 于发展阶段,开发高质量的w e b 应用系统还缺少成熟的理论和技术支持。另一方面, 社会对更复杂的w e b 应用系统的需求持续增强,使得j a v a 从一个“早期的待采用” 技术一下予转变为主流技术,造成有丰富经验的j 2 e e 平台系统设计师和软件工程师 极度缺乏。开发过程中难免采用一些不当的系统设计和体系结构,使用一些不合适的 数据结构和低质量的算法,从而成为影响性能和伸缩性的直接原因。 2 4 3 外部原因 w e b 应用系统是个分布式应用系统,w e b 程序及相关的数据资源分布在不同机器 上,借助网络协同工作。给系统提供运行时环境的容器,提供数据源的数据库服务器、 c o r b a 服务器,底层的网络及磁盘i o ( 1 n p u t o u t o u t ,输入输出) 系统等,都会对 w e b 应用系统的响应时间产生影响,成为性能和伸缩性瓶颈的外部原因。 2 5 小结 本章介绍了j 2 e e 平台上的w e b 应用系统的框架模型、相关技术,介绍了w e b 应 用系统的特性。w e b 应用系统的响应时间对于w e b 应用系统的可用性有着特殊的意 义,本章重点研究了与响应时问有密切联系的两个特性:性能和仲缩性,并用定量的 方法给出了性能和伸缩性的定义,分析了造成性能和仲缩性瓶颈的各种原因。 华中科技大学硕士学位论文 3 基于性p 月 匕b 和伸缩性的w e b 应用系统优化设计方案 当前,解决w e b 应用系统的性能和伸缩性问题存在两个误区:一是不对系统进行 性能和伸缩性调试就安装、部署系统,遇
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030中国功能性食品宣称规范调整及研发方向与营销渠道创新分析报告
- 智能交通战略合作协议样本5篇
- 世界资源研究所:2025年典型省份分布式光伏发展模式研究报告
- 2024年重庆市永川区就业和人才中心招聘公益性岗位人员真题
- 2025第六师五家渠市面向校园招聘事业单位工作人员(57人)考前自测高频考点模拟试题带答案详解
- 2025广东清远市连州市教育局招聘高中教师10人(编制)模拟试卷及一套答案详解
- 2025年十堰市城发集团及所属子公司公开招聘拟聘用人员考前自测高频考点模拟试题及答案详解(必刷)
- 2025年智能语音助手的语音识别技术
- 2025年智能眼镜在工业安全中的使用情况
- 2025年台州温岭市卫生事业单位公开招聘工作人员48人模拟试卷附答案详解(完整版)
- 2025年中国零售用显示屏行业市场全景分析及前景机遇研判报告
- 吉林省长春市2024-2025学年七年级上学期生物月考试题(含答案)
- 2025至2030中国视觉点胶机市场运行状况与未来发展走势预测报告
- 心源性休克病人的护理
- 种草莓劳动课件
- 如何落实责任制整体护理
- 雀巢牛奶购销合同范本
- 多模态交互体验评估-洞察及研究
- 100MW光伏发电场光伏电站建设与环境影响评估可行性研究报告
- 2025-2026学年华中师大版(2024)小学体育与健康一年级(全一册)教学设计(附目录P123)
- “20道游标卡尺题目及答案”
评论
0/150
提交评论