论文部分内容阅读
Web Services技术是一个简单的、易扩展的技术,它为广域、异构的分布式应用程序提供了便于互操作的平台,被广泛用于构建网络系统的基本框架。
Web Services技术之所以具有简单性、可扩展性以及互操作性是由于Web Services基于XML语言,同时它通过HTTP、SMTP等网络标准协议传输XML消息,成为一种标准机制。但是,对XML消息的处理,需要付出额外的计算机资源来实现。相关工作指出,基于XML的Web Services消息与基于二进制的消息相比具有较大的报文长度,较长的构造与解析时间,使得Web Services技术在性能方面低于其它的分布式计算技术[马05]。因此,在负载较重、交互密集而资源相对短缺的应用场景下,Web Services的性能成为系统的瓶颈,造成系统可用性降低。
本文对交互密集型的Web Services应用进行了服务调用特征分析。此类应用存在大量短小而密集的SOAP消息传输,同一线程内多个消息之间存在着消息目的地局部性特征。根据此特征,本文提出无数据依赖关系的Web Services调用的优化技术SPI(SOAP Passing Interface),和有数据依赖关系的优化技术DM(Dependency Migration),本文通过调用简单的echo服务测试这两项技术的有效性。实验证明,SPI技术在SOAP消息包小于100KB的量级时可以将响应时间降到原来的20%以下,DM技术在整个测试范围内都可以将响应时间降到原来的30%以下。
SPI和DM虽然能够有效地提高交互密集型应用的性能,但需要开发人员事先了解应用运行时的消息发送特征,并修改程序代码以调用SPI和DM接口,改变了用户的编程模式。根据交互密集型服务调用特征分析的结果,本文提出一种基于SOA架构的集中式工作流交互密集型应用场景下的Web Services性能优化技术RABM(Requests Automated Binding Mechanism)。该技术主要解决两个关键问题,第一,透明地提高系统的性能而不改变用户的编程方式;第二,在提高整个系统性能的同时,不造成单个用户体验度的降低。通过使用W3C的旅游服务对RABM技术进行测试,实验结果证明RABM技术最高可以将吞吐率提高150%,平均响应时间降为原来的43%。