首页 > 人工智能 > 正文

从量化分析看SOA的性能弊端

2010-08-09 18:28:48  来源:中国计算机报

摘要:基于SOA的业务系统均存在的特点是事务复杂、子系统众多,这使得SOA的优点得以很好地表现,其性能因素可能要排在其次。
关键词: SOA

    凡事有利必有弊。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
 


第三十五届CIO班招生
国际CIO认证培训
首席数据官(CDO)认证培训
责编:

免责声明:本网站(http://www.ciotimes.com/)内容主要来自原创、合作媒体供稿和第三方投稿,凡在本网站出现的信息,均仅供参考。本网站将尽力确保所提供信息的准确性及可靠性,但不保证有关资料的准确性及可靠性,读者在使用前请进一步核实,并对任何自主决定的行为负责。本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。