日期:2013-02-28  浏览次数:20761 次

    (2)如果你正在使用的是VBScript 5.0或更高的版本,你可以使用WITH……END WITH的结构,这样也能使ASP的性能提高不少。
    (3)一般情况下,避免使用session变量,因为每一个session变量都占用一个线程,session调用是一个接一个的完成的。所以这样会降低ASP的速度,你可以使用QueryString集合或者隐藏的变量来代替session变量来存储数据。这样会比使用session变量占用的线程少。
    (4)如果你实在无法避免使用session变量,而且你有大量session变量,那么你应该考虑使用字典对象。
    (5)打开缓存会提高ASP的性能,如在每一个ASP页面中使用Response.Buffer=True就是一个很好的习惯,它能明显的提高页面的显示速度。
    (6)把你的数据读取的代码打包成COM组件,你会领略到编译和多线程给你带来的速度上的提升。众所周知,创建一个数据库的连接会耗费大量的资源和时间,怎么能解决这个问题呢?当你的组件运行在Microsoft Transaction Server (MTS)时,利用连接池能很好的解决这个问题。MTS是一个以WINDOWS NT为基础的一项技术,当和DCOM联合使用的时候,它允许你更好的把COM对象在网络上分布,效果比单独使用DCOM更好。
    (7)避免多次调用COM组件,例如,如果你想向COM组件中写入10个值,你得调用10次COM组件,如果你能只调用一次,那么就能大大提高整体性能。
    (8)不要和application或session 范围一起声明象ADO连接对象这样的COM组件,因为这些多线程组件的线程调用之间还得协调,因此大大降低了ASP的性能。
    (9)当你的ASP页面中的代码超过100行,你最好考虑将它们移植到COM组件,ASP脚本是在运行的时候解释,而COM组件是经过编译的。
    (10)不要使用Microsoft Word 或Excel组件来操作数据,这些组件对于ASP都是没有经过优化的。
    (11)我们开发WEB应用程序的时候,总是喜欢创建一个大的include文件包含所有的全球变量,但是这个方法的最大弊病就是并不是所有的页面都需要这些变量,而每个页面都要处理这些变量,因而会大大影响ASP的速度。
    (12)避免多次使用Request.Write,最好将他们整和到一个Request.Write中。

    B.网络带宽
 (1) 尽量使用100M的网卡,这样会大大提高ASP应用程序的反应时间。
    (2) 如果你的WEB服务器和数据库在同一个服务器上,建议将它们移植到不同的数据库上。
    (3) 建议将COM组件和MTS一起使用。

    C.数据库的性能的提升技巧
    一种好的数据库设计方法可以大大的提高ASP程序的性能,详细的论述这方面的内容已经超出了本文的范围,在此我只简要的介绍几个技巧。
    (1) 使用ADO Recordset的时候,注意使用cursor type 和lock type两个属性,例如,如果你想填充组合列表的话,应该把cursor type设为 adOpenForwardOnly并且 lock type 设为adLockReadOnly。
    (2) 有时合适的分配一些数据库的缓存可以很好的提高ASP的性能。例如,如果你使用Oracle作为数据库的时候,一个连接要开三个对话,如果你能很好的降低连接的数目的话,那么你的ASP性能将会大副提升。
    (3) 注意使用正确的数据库查询语句,范围过大的查询动作会浪费大量的时间,因此一定要想方设法缩减查询范围,提高查询速度。