作为使用Session对象的替代,还有很多其他的方法来管理会话状态。对小规模的状态(小于4KB),推荐使用Cookies,QueryString变量和隐藏表单变量。对大量数据,如购物信息,一个后台数据库可能是很好的选择。
技巧7:将代码封装到COM对象中
如果有很多VBScript或JScript代码,可以通过将代码封装到COM对象中来提高性能。
编译过的代码通常比解释代码运行得快。COM对象可以通过“前期绑定”来访问其他COM对象,这比脚本使用的“后期绑定”更高效。
下面是将代码码封装到COM对象中的优点(不仅仅是性能):
COM对象可以很好地将商业逻辑同表现逻辑分离
COM对象使代码可重用
用VB,C或VJ写的代码比ASP代码更易调试
COM对象也有不足,包括开发周期长和需要不同的编程经验等。有一点尤需注意,封装少量ASP代码可能在性能上适得其反;这种情况下,创建和调用COM对象的代价超过了编译代码性能上的好处。如何组合ASP代码和COM组件代码来产生最佳性能,往往是个令人头疼的问题。注意,同Windows NT 4.0/IIS 4.0相比,Windows 2000/IIS 5.0在脚本和ADO性能上已经大大提高。
技巧8:对资源晚获取,早释放
通常情况下,晚获取和早释放资源是最好的。这不仅适用于COM对象,也适用于文件句柄和其他资源。ADO连接和记录集是这项优化策略的主要对象。当使用完一个Recordset对象,应该立即将它释放,而不应等到页面结束。将VBScript变量设成Nothing是最好的方法。同时,释放相关的Command和Connection对象(别忘了在将Connection对象设成Nothing之前调用Close()方法)。
技巧9:进程外执行以性能换取可靠性
ASP和MTS/COM+都有选项让你来用可靠性换取性能。当建立和发布你的应用时,你应该理解这项交易的内幕。
ASP选项
ASP应用有三种运行方法可选择。在IIS 5.0中,引入“分离级别(isolation level)”这个术语来描述这些选项。三种分离级别分别是:低(Low),中 (Medium)和高(High)。
低分离级 这种级别被所有版本的IIS支持,并且速度也是最快的。它在Inetinfo.exe--主要的IIS进程--中运行ASP。如果ASP应用崩溃,IIS也将崩溃。
(在IIS 4.0中,网管必须用诸如InetMon之类的工具来监视IIS,一旦IIS停止,运行批处理文件。IIS 5.0引入了“可靠的重启(reliable restart)”,会自动重新启动失败的服务器。
中分离级 从IIS 5.0开始引入的新级别,指进程外运行,即ASP运行在IIS进程之外。 在中分离级中,所有的ASP应用共享一个进程空间。把多个进程外应用在同个空间中运行,减少
| 对此文章发表了评论 |
