ASP程序的性能优化

王朝asp·作者佚名  2006-11-24
宽屏版  字体: |||超大  

第一章使用服务器缓存

1.使用application和session保存数据的技巧。

可以再程序启动或会话开始时将需要的数据赋值给application和session对象。使用这种方法只需要在global.asa文件的application_Onstart和session_OnStart函数中添加响应的赋值函数或语句即可。

再合适的条件下可以缓存ADO记录本身,但是需要注意:

1.ADO记录必须时自由线程标记的

2.必须时已经断开的记录集

3..在服务器硬盘上缓存数据

对于体积大,使用频率不是很高的数据,可以采用text和xml的方式将其缓存在硬盘上。对于单个页面来说,访问数据库的速度不一定不访问硬盘的速度慢多少,但是对于大量的页面来说,这样作就可以减少服务器对数据库的访问压力,同时对于数据库中的那些需要大量缓存的存储过程来说,更是一件优化的好方法。

Asp和com提供了几个基于磁盘缓冲的配置工具。Ado记录集的save()和open()函数就是负责保存和掉入磁盘上的记录集。另外一下一些组件也可以达到类似的功能:

1.Scripting.FileSystemObject:用许创建、读写文件

2.MSXML:Microsoft XML解析器,随Internet Explorer带来,支持和保存和装入XML文档

3.Lookup Table对象:从磁盘掉入简单列表的很好选择。

4.避免在application和session对象中缓存非轻快型组件

5.不要在application或session对象中缓存数据库连接

6.合理使用session对象

第二章提高代码的执行效率

1.使用Option explicit

在asp文件中使用<%OPTION EXPLICTI%>可以提高asp代码的执行效率。打开此项有助于识别没有定义的变量,使用没有定义的变量就会出现错误提示。

2.避免重复定义数组

最好在一开始就作最坏的打算,对数组的长度进行充分的考虑,尽量避免使用redim

3.使用dictionary对象

vbscript中提供的dictionary对象可提供快速查找和对任意代关键字数据存储功能。通过dictionary对象可以根据关键字存取数组中的各项数据,这样就可以找到内存中不连续的内容。但是注意,如果关键字在内存中是连续的话,在数组中的查找、存储数据会更快。

4.避免在循环中使用字符串连接操作

首先是重复的连续字符串消耗二次方的时间;其次是运行的时间与计算的字段数量也是平方的关系。可以使用替换字符串连接为response.write或行内脚本<%=fl.value%>的方法来提高程序的性能。如果使用的是jscript,强烈建议使用“+=”操作,而不是s=s+str

第三章优化服务器的工作

1.多个response.write声明

如果是多个结果使用<%=…%>操作,可以考虑将数据使用response.write输出

2.在可能的情况下,使用server.transfer替代resonse.redirect

Server.transfer是在服务器进行页面转向的内容,并将具体的内容发送给客户浏览器,而response.redircet则使客户机自己向服务器进行请求下一个页面的内容,所以增加了网络和客户机的负担。

3.避免使用Server Variables

4.使用<object>标志创建对象

使用server.createobject创建对象时,将立即生成一个对象,但有一些时候对象并没有使用,这样造成浪费,而使用<object>服务器并不真正的创建对象,只有当对象被使用时,对象才被创建。

5.可能的情况下尽量使用绝对路径

6.使用response.buffer

TCP/IP在发送大的数据包时要比发送大量的小数据包效率高

7.在发送大量内容前使用Response.IsClientConnected来确定客户机是否连接

8.调整web服务器

9.即使升级,使用最新的版本产品

第四章利用浏览器工作

使用客户端对表格进行表单的验证检查

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有