4.3 结果分析 从数据可以看出,有下面几个特点: l 客户端初次调用,初始化客户端stub对象时,大约在:600ms~2500ms。由于需要建立网络连接,初始化java相关对象,因此耗时较长。 l 客户端初始化stub后,接口初次调用,大约在:400ms~1000ms。相比后续的接口调用时间最长。 l 在第一次调用完毕后,随后的调用中,性能都明显提升。大约在:7ms~30ms。 l 本机测试与远程测试,性能上差距很微小,在高速的局域网内,性能差别几乎可以忽略。 l 在相同的服务端下,采用不同框架生成的stub代码调用时,时间上也存在一定的差异。 实际应用中,接口的调用都是在网络的不同的机器之间进行,本文也重点关注远程调用测试结果,在测试结果比较上,可以看出: l 最优组合是最差组合性能的5倍多。 n 最优的组合为:cxf客户端+ cxf服务端,6ms左右。 n 最差的组合为:axis1客户端+ axis1服务端,32ms左右。 l CXF作为服务端,对于不同的客户端调用时,性能最佳。 5 结束语 本文对几种流行webservice框架的性能的实际测试,对开发者选择框架时提供了一个关于性能方面参考。Apache CXF是Codehaus XFire 的第二代产品,目前在不同框架中性能最佳,应该是开发者不错的选择,这与它本身的架构设计不无关系。相比其他框架,CXF具有几个突出的特性:支持JAX-WS、Spring集成、Aegi数据绑定、支持RESTful services、支持WS-*、Apache协议、代码实现简洁。Apache Axis2是Apache Axis1的第二代产品,架构上也非常不错,关键特性:支持各种规范、可插拔模块化设计、支持热部署等。与CXF相比性能也非常优异。 在服务端框架确定的场景下,最好是采用该框架生成客户端代码,这样配合性能可达到更佳。在实际的项目中,开发者在选择具体那个框架时,仍还需综合评估框架的开发组织、产品路线图、文档化程度、应用广泛度、与优异框架的集成度、灵活和扩展性等因素。 转载自:http://blog.csdn.net/thunder4393/article/details/5787121 |
联系客服