无翼鸟姬木千冬h本子:如何提高asp的速度?

来源:百度文库 编辑:神马品牌网 时间:2024/04/30 02:02:17
有什么方法没有,不是。NET。是ASP
有没有几套优化方案

楼上的只能简化代码,不能起到优化速度的作用,getString()函数所做的,只是封装了这些代码,没有从根本解决速度问题,直接写在页面上也是一样的。

说几个小经验,可以极大优化asp的速度,建议在页面调试完成后,即页面可以正常运行的时候开始优化,另外,优化方法可能会对你的页面的结构造成难阅读的情况,呵呵这可能是所有程序优化不可避免的。

首先我们从原理来看一下:
<%...%>
....
<%...%>
....
所有的asp代码会被包括在<%%>里面,而页面静态代码则直接写,在asp解释的过程中,直接写的由伺服器比如iis直接通过iisapi.dll输出,而<%%>里面包括的需要通过asp.dll来解释,执行后交给iisapi.dll来输出,在这2个库所在的进程中切换是非常耗时间的。所以,我们有了第一个优化方法:改成:
<% ...
response.write("...")
...
response.write("...")
%>
本来要切换进程3次,现在1次都不用切换就可以了,极端情况,1个页面全部是由<%%>包括起来的,所有静态代码全部用response.write()来封装,这个方法好处是可以极大优化代码速度,缺点是后期静态页面维护不好维护,如果静态页面代码和动态代码都是一个人写的,那么就不会有什么太大麻烦。

再来看看数据库,通常我们会把connection写在一个文件中,每个需要调用的页面只要#include就可以使用了,有很多的人连recordset也写在里面,而这些会很容易忘记释放,我们要做的,就是在尽可能靠前的地方释放这些数据库对象,因为每个connection就会对数据库做一个连接,对于access这些没有连接池的数据库来说,大并发的网站会造成超高量的连接来堵塞数据通道,这个是在asp开发中经常碰到的,10几个人可以正常运行的网站,突然超过100人就不稳定的原因所在了。