日期:2010-06-12  浏览次数:21226 次

  第一章  使用服务器缓存

  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.即使升级,使用最新的版本产品

  第四章  利用浏览器工作

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