改善ASP性能和外观的技巧集锦(转自计算机世界)(二)
技巧 7: 将代码封装在 COM 对象中如果您有许多 VBScript 或 JScript,您可以经常将代码移到编译的 COM 对象中,从而可改善性能。编译的代码通常比解释的代码运行得更快。编译的 COM 对象可以通过“早绑定”访问其它 COM 对象,与脚本使用的“晚绑定”相比,“早绑定”是调用 COM 对象的更有效方法。将代码封装在 COM 对象中还有一些优点(除性能之外):
COM 对象有利于将表示逻辑与业务逻辑分开。
COM 对象可以保证代码重复使用。
许多开发人员发现以 VB、C++ 或 Visual J++ 编写的代码比 ASP 更容易调试。
COM 对象也有缺点,包括初始开发时间和需要不同的程序设计技巧。注意封装少量的 ASP 可能引起性能下降,而不会得到性能改进。这种情况通常在少量的 ASP 代码被封装进 COM 对象时发生。在这种情况下,创建和调用 COM 对象的系统开销超过了编译的代码的优点。应反复地试验,以确定什么样的 ASP 脚本和 COM 对象代码的组合产生最好的性能。注意,与 Microsoft Windows NT® 4.0/IIS 4.0 相比,Windows 2000/IIS 5.0 中在脚本和 ADO 性能方面有了很大的改进。因此,随着 IIS 5.0 的推出,编译代码比 ASP 代码的性能优势有所降低。如果您部署 COM 组件,以负荷对它们进行测试特别重要。事实上,理所当然应对所有的 ASP 应用程序进行负荷测试。
技巧 8:迟一点获得资源,早一点释放资源
这里是一个小技巧供您参考。一般来说,最好迟一点获得资源,早一点释放资源。这适用于 COM 对象以及文件句柄和其它资源。这种优化方法主要用于 ADO 连接和记录集。当您使用完记录集,比方说在显示一个表及其数据之后,应立即释放它,而不是等到页面结束时再释放。将 VBScript 变量设置为Nothing 是最好的做法。不要让记录集超出作用域之外。而且,要释放任何相关的 Command 或 Connection 对象(在将记录集或连接设置为 = Nothing 之前,不要忘记调用Close())。这会缩短数据库必须为您准备资源的时间,并尽快释放数据库到连接池的连接。
技巧 9:进程外执行过程以性能换取可靠性
ASP 和 MTS/COM+ 两者都有配置选项,可使您兼顾可靠性和性能。当建立和部署应用程序时,应知道如何兼顾两者的性能。ASP 选项可以配置 ASP 应用程序,以便以三种方法之一运行。在 IIS 5.0 中,引入了“隔离级”这一术语以说明这些选项。这三个隔离级分别是低级、中级和高级:
低级隔离:这在 IIS 的所有版本中都得到支持,且是最快的。它在 Inetinfo.exe 中运行 ASP,Inetinfo.exe 是主要 IIS 进程。如果 ASP 应用程序崩溃,IIS 也会崩溃。(要在 IIS 4.0 下重新启动 IIS,Web 站点管理员应使用诸如 InetMon 之类的工具监视站点,如果服务器发生故障,应启用批处理文件以重新启动服务器。IIS 5.0 引入了可靠的重新启动,该方法可使发生故障的服务器自动重新启动。)
补充:asp教程,技巧与性能优化