如何提高程序效率
一个循环程序(一般为循环400-600次),其中有四个函数分别发送XMLHTTP请求到服务器的XML文件(同步方式),当返回匹配字符后进行数据库操作(都是批量的(有可能几个有可能几十有可能几百),或删除或更新过增加)
效率太底了,运行完要1到2个小时。。。。
请问大家有什么办法可以提高他的效率,
------解决方案--------------------不懂 帮顶了
------解决方案--------------------不懂 帮顶了
------解决方案--------------------顶了
------解决方案--------------------再帮你一把!上去!呵呵
------解决方案--------------------采用异步方式就是ajax了,客户体验会好。
web服务器用的什么?WebService? 可以参考webService优化,或者使用.net3.0中的WCF实现
------解决方案--------------------这个不懂,在windows forms时知道一点怎么解决,web的就不知道了,不过数据库连接个人觉得还是要控制住,程序应该有很多时间用在了连接了数据库的操作
------解决方案--------------------要提高效率你首先要搞清楚瓶颈在哪。初步看你的程序花时间的地方主要有三个:
1、XML请求的连接建立和拆除;
2、等待服务器处理请求的时间;
3、数据库处理时间;
你必须测量一下哪个时间是主要的,可能还有其他花时间的操作也顺便找出来。不要花精力在次要的地方。
我就针对上面三种情况给一个简单的思路。如果是连接问题,你看看能否保持连接,或者改变算法在一次连接中塞入更多的数据(也就是减少循环的次数)
如果是服务器请求的时间,那就要看看服务器有没有优化的可能,或者服务器能否同时处理4个请求(即你的请求没有顺序要求,同时服务器同时执行4个请求的时间少于次第执行4个请求的时间),如果可以的话,多线程或异步方式可以提高效率。因为你可以在等待服务器处理的时间里处理已经返回的请求的数据。
剩下的就是数据库操作的优化了,或者同样的采用异步方式。
当然如果你的请求可以异步进行的话,总能提高效率,因为你和服务器没有相互等待的时间。