ASP应用程序全面优化具体操作
发布日期:2015-12-4 9:12:54
ASP 本身并不是一种脚本语言,只是它提供了一种使镶嵌得以在 HTML 页面中的脚本程序中运行的环境,在ASP中最常用的脚本语言即VBScript。虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行却不是一件简单的事情。 目前国内的网络带宽十分有限,网络很拥挤,如何使ASP应用程序能够快速的运行便成了每一个ASP程序员的目标。 一、有关操作数据库的优化方法 我们使用ASP最主要的用途就是对数据库进行操作,怎样快速完成这些动作,如下所示: 1. 注意游标使用方法,如果仅仅是对一个table进行读取操作,那么建议使用forward-only,read-only游标,因为这种游标读取数据库是最快的,尤其是在读取数据量很大的情况。 2. 尽可能使用系统存储过程(针对MS SQL Server)。有的时候完成一个读取操作,使用SQL语句和存储过程同样可以完成,但是使用存储过程将会大大加快完成读取操作的速度,也就提高了您的ASP程序运行的速度。 3. 不要打开无用的独立记录集。比如在生成一个树型记录集的时候,我们一般不得不打开父记录集以及对应的子记录集,甚至还有孙记录集,其实您可以使用ADO提供的Data Shaping技术来替代打开多个独立的记录集,那样会加快程序的运行速度。(关于Data Shaping的用法可以参考ADO帮助) 4. 不要任意使用“SELECT * ......”请尽量拾取您所需要的那些字段,比如,一个Table中有10个字段,但是您只会用到其中的一个字段(name),就要使用“select name from yourtable”,而不是用“select * from yourtable”。如果一个table中有50个字段,您需要用到其中的23个字段的时候,大多数程序员就不一定会用“select name,sex,age... from yourtable”测试证明,尽量拾取您所需要的那些字段来使用select语句将会是您的ASP程序至少加快5%左右。 5. 记着关闭打开的记录集对象以及连接(Connection)对象。有些程序员总是奇怪为何自己的ASP程序刚开始的时候运行速度很快,可是多运行几遍就变慢了,甚至出现服务器死机或者频繁宕机的情况。发生这种情况,就很可能是您打开了太多的记录集对象以及连接(Connection)对象而最后却没有关闭他们引起的。使用如下方法进行关闭:YourRecordSet.closeSet YourRecordSet=Nothing Set YourConnection=Nothing 6. 取得数据库数据的方法。比较您是如何得到记录集的数据的呢?大多数程序员使用YourRecordSet(字段编号),或者YourRecordSet("字段名称"),其实还有其他的使用方法,现在我们就比较一下吧(100条记录):Rs("字段名称")Rs("字段名").ValueRs("字段编号")Set方法数据库回应时间2.967秒2.936秒1.650秒0.586秒2.824秒2.914秒1.611秒0.602秒2.893秒2.943秒1.613秒0.594秒,平均回应时间2.895秒2.931秒1.625秒0.594秒,前三种方法大家都可以看的明白,第四种方法(Set方法)使用: Dim strSQLStrSQL="select name,sex,age from yourtable" Dim rs Set rs=server.createobject("ADODB.RECORDSET") Rs.open strSQL,conn,1,1 Const fieldsOrder=2 Dim objOrder Set objOrder=rs(fieldsOrder) Response.write objOrder 二、合理使用Include文件。 我们这里说的是指用<!--#include file="xxx"--形式包含进来的文件,并且文件内容全是ASP程序,也就是说您将一些公共的函数放到一个文件中,并将其他有可能调用其中函数的页面包含进来。建议您不要将所有的函数放到一个包含文件中,因为您在其他页面包含这个文件的时候,服务器端是要进行预编译的,很可能在一个包含文件里面有上百个函数,而您只是想要使用其中的一个函数,这样就严重消耗系统资源。所以,尽可能的分割您的包含文件成为多个小的包含文件。这样也可以提高程序的运行速度。 四、有关ASP内置对象使用方面的优化方法 1. 尽量减少Application对象和Session对象。虽然使用ASP中提供的这两个对象对我们的编程提供了很大帮助,但是,对这两个对象也要使用合理。因为大量的使用这两个对象会极大的增大服务器的负担,严重消耗系统资源。也将使您的ASP程序运行极慢。 2. 要及时的关闭不再使用的对象(尤其是Application和Session)不及时的关闭您所使用的对象会导致系统运行速度缓慢。大多数程序员认为Application和Session能够自动消失,但是系统默认30分钟内访问者如果没有任何操作就自动触发Session_OnEnd和Application_OnEnd事件,但是大量的访问者频繁的读取服务器,服务器将在很长的一段时间保持那些已经没有用的Application,Session对象,如果不及时关闭使用完的Application和Session,后果很严重。关闭的方法是: Set 对象=Nothing 五、其他方面的优化方法
|