如何解决soap的性能问题?

06-04-09 摆渡人
我在一个电信应用的系统.采用的soap1.1

就是说.web展现与应用服务器是两台机器,中间有防火墙,只开80端.

我在web服务器里有一个方法(WSclient),通过soap调用 应用服器的一个方法(WSservice).传输是以XML形式的字符串传.

web服务器所调用的最终是经过WSclient方法,到应用服器,而应用服务器也只用一个方法WSservice.来接收web服务器传过来的信息,实现动态的调用应用服务器的类与方法.我在应用服务器里是加载所需的类.通过Class.forName(serviceClazz).newInstance();调用.

但目前就是用户数过多,数据量过大会出现超时现像.我有在call时设置了timeout.

请问有没有更好的解决两台机子传输的问题呢.

banq
2006-04-10 12:27
我想使用缓存Cache住服务器端的一些服务信息是一个可行办法,我曾经在网上看到过这类文章,你以web服务 性能搜索看看.

摆渡人
2006-04-11 00:02
谢谢,banq

因为电信的数据基本上都是从其它各个服务系统里取的(有些最好能d在一定的时间范围内实时性,有些则可以在一个会话时间内)比如说像帐单之类的查询,读取产品的业务功能(比如某个号码有个七彩铃音,说不定你在受理过程里这功能关了,但缓存的数据没有及时更新.在最后提交时肯定就会造成失败),这些缓存在前台都会有一些问题,会造成数据的不准备性.

感觉是缓存时间短一些能让用户在网上受理一个业务流程为时间片.如果用户停流在某个页面时间太长,则要让缓存更新一下.因为这时有可能用户的业务功能,帐单发生的变化.不知怎么样的缓存能洽到好处呢.

我想:假定在网上受理一项服务要5分钟,只要受理完成我想就更新缓存里的内容一次,不知这种方法可行吗?.

猜你喜欢