zoukankan      html  css  js  c++  java
  • ASP程序的性能优化

    好久没有写东西,今天晚上在图书馆花了2个小时写成的,希望对大家有用。

    ASP程序的性能优化

    第一章         使用服务器缓存

    1.         使用applicationsession保存数据的技巧。

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

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

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

    l         必须时已经断开的记录集

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

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

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

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

    l         MSXMLMicrosoft XML解析器,随Internet Explorer带来,支持和保存和装入XML文档

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

    3.         避免在applicationsession对象中缓存非轻快型组件

    4.         不要在applicationsession对象中缓存数据库连接

    5.         合理使用session对象

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

    1.         使用Option explicit

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

    2.         避免重复定义数组

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

    3.         使用dictionary对象

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

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

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

    第三章         优化服务器的工作

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

    第四章         利用浏览器工作

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

  • 相关阅读:
    Verilog模块概念和实例化#转载自Jason from Lofter
    P4-verilog实现mips单周期CPU
    P0-Logisim简单部件与有限状态机
    终——提问回顾与个人总结
    技术博客——PyPDF2 & Reportlab 使用
    结对——软工第一次结对项目
    分析——个人第二次博客作业
    交点——软工第一次个人项目作业
    启——软工第一次个人博客作业
    再会,旧时光——软工热身作业
  • 原文地址:https://www.cnblogs.com/AloneSword/p/2237661.html
Copyright © 2011-2022 走看看