(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) 注意使用正确的数据库查询语句,范围过大的查询动作会浪费大量的时间,因此一定要想方设法缩减查询范围,提高查询速度。
