凡事有利必有弊。SOA有着架构灵活、构件复用等优点,但其对性能的影响也不可忽视。
SOA采用SOAP(Simple Object Access Protocol,简单对象访问协议)作为其传输数据封装的事实标准,而SOAP是XML的一组集合,自然地继承了XML的冗长。SOA系统的网络中传输的是XML封装后的数据包,必然经过序列化、压缩、解压、反序列化等一系列过程,这里面的性能降低是显而易见的。比如每一个请求都需要经过前述的一系列过程,在很多情况下,网络传输中真正需要的数据远比XML的表示要少。
所以,基于SOA的系统性能必然存在问题,如果再考虑其并发性,其资源浪费率就会明显上升。详细的量化分析,见右边具体数据分析。该数据模型表明,一个应用系统是由一个门户和多个应用系统组成的集群平台,应用系统间的交互、应用系统与门户、门户与BPM(业务流程管理)的交付等均通过ESB(企业服务总线)形式来完成。这其中影响性能的重要因素是,系统间通过WS(Web Service,网络服务)进行交付时要封装的XML数据,以及对这些XML数据处理要占用大量资源。通过数据分析可以发现,要完成这个业务系统,对系统的要求本身就已经很高,达到了11165538tpmC。
TPC(TransactionProcessing PerformanceCouncil,事务处理性能委员会)是由数十家会员公司创建的非盈利组织。TPC-C是TPC推出的在线事务处理(OLTP)的基准程序。TPC-C使用三种性能和价格度量,其中性能由TPC-C吞吐率衡量,单位是tpmC。tpm是Transactions Per Minute的简称;C指TPC中的C基准程序。它的定义是每分钟内系统处理的新订单个数。价格是指系统的总价格,单位是美元,而价格性能比则定义为总价格/性能。一个峰值为11165538tpmC的系统,对其IT基础设施的要求是相当可观的。在这样的情况下,设计系统时要在性能与SOA的灵活性方面进行权衡。
可见,把SOA放在一个实时性要求很高、来回请求频繁的事务环境中,就不太合理。XML的处理过程就要占用大量的处理时间,这对于门户、ESB等系统均带来极大的负担。
但是由于SOA具有分布式、服务分散的、服务接口化、系统间对接灵活度高等特点,在很大程度上减轻了企业业务系统的整合负担,同时基于SOA的业务系统均存在的特点是事务复杂、子系统众多,这使得SOA的优点得以很好地表现,其性能因素可能要排在其次。
目前,对于SOA的性能优化已经成为许多研究机构和大学的重要研究课题,并通过绕过XML文档的编译/排列/反排列/反编译的生命周期提出了一些典型的方法。比如采用具体模式的优化编译器来实现,这使得XML可以使用本地化负载处理模式,从而绕过XML数据的复杂周期。
门户的峰值分析
注册用户:20000
在线用户:注册用户×50% = 10000
日访问量:10000×30=300000人次
平均每分钟访问量: 300000/?穴8×60?雪=625次/分钟
高峰访问量:625×4=2500次/分钟
设定TPC-C基准值为25倍:2500×25=62500tpmC
设定峰值访问量为平均值的3倍:62500×3=187500tpmC
设定高峰期系统利用率为65%:187500/65%=288462tpmC
设定集群软件占用系统20%资源:288462×(100%+20%)=346154tpmC
设定操作系统等软件占用系统20%资源:346154×(100%+20%)=415385tpmC
ESB的峰值分析
来自门户系统的峰值访问量为60%:2500×60%=1500
假设有其他20个应用系统,平均每个应用系统访问频率为500次/分钟:20×500=10000次/分钟
其他应用系统峰值访问量为平均值4倍:10000×4=40000次/分钟
设定来自门户系统对BPM系统的访问量为其峰值的20%:2500×20%=500次/分钟
ESB总的峰值访问量:门户访问量峰值+其他系统访问量峰值+BPM访问量峰值:1500+40000+500=42000次/分钟
设定TPC-C基准值为40倍:42000×40=1680000tpmC
设定峰值访问量为平均值的3倍:1680000×3=5040000tpmC
设定高峰期系统利用率为65%:5040000/65%=7753846tpmC
设定集群软件占用系统20%资源:7753846×(100%+20%)=9304615tpmC
设定操作系统及其他软件占用系统20%资源:9304615×(100%+20%)=11165538tpmC
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
信息化内参(5):IT选购的学问
对企业CIO来说,IT采购从来都是一个难题。难就难在如何在IT预算与性能之间找到平衡点。换句话说,花最少的钱办更多的事,成为企业CIO努力实现的愿景。
-
SOA整合系统必须的实施步骤
对于企业管理者来说,SOA的技术层面的内容不是问题,而怎样实施SOA。达到目的才是问题。本文介绍了SOA整合系统必须的实施步骤。
-
CIO应对SOA架构固有缺陷时刻保持警惕
曾经备受肯定的SOA架构正暴露出其架构的固有缺陷——当基于SOA的服务管理达到一定深度时,目前的SOA管理策略在服务故障的追根溯…..
-
CIO:SOA并不是一件“简单任务”
SOA并非简单的技术部署方式,而是一种IT与商业部门之间关联方式的转变。SOA深深改变了企业IT投资和支持的方式,并要求企业内各部门间实现更畅通的沟通。