首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

webservice异步调用内存过高的有关问题

2011-12-29 
webservice异步调用内存过高的问题?我在vs2005里面异步调用WebService如果我的客户端程序异步调用10万次,

webservice异步调用内存过高的问题?
我在vs2005里面异步调用WebService

如果我的客户端程序异步调用10万次,会发现客户端所在的机器耗内存特别高,而且调用完毕也没有办法降下来

如果不关闭客户端程序,继续调用10万次,内存会继续上涨.怎么能解决内存的耗用,同时保持相对的性能??

我们的应用要求客户端调用性能要很高!现在关键是要降低客户端异步调用时候的内存开销!

[解决办法]
Thread.Sleep(1); 

这个参数对于测试过于严苛了。模拟实际情况,客户端调用10此以后通常会等待1秒钟以上(实际上往往等待1分钟以上),我们可以使用:

Thread.Sleep(1000); 

来测试。使用sleep,并且将调用分组写在方法内,目的是让GC回收channel对象。然后把每一组调用本身所花的时间加起来(不包括sleep时间),再除以所有调用数量,就可以算出平均调用的速度了。


[解决办法]
如果是真的有这么多请求,建义换种方式,对于请求进行统一的管理
[解决办法]
10万次确实是太大了点,这是没有办法的事情.
不过线程执行完毕会被很快回收,这点是肯定的,导致内存增大的问题估计是有对象没有被回收。
用GC回收一下看情况如何?

热点排行