当前位置: 首页 > 图文教程 > 网络编程 > ASP > 改进性能和样式的 25+ ASP 技巧(1)

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

改进性能和样式的 25+ ASP 技巧(1)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 52 ::
收藏到网摘: n/a

  Len Cardinal - Microsoft Consulting Services 高级顾问
George V. Reilly - Microsoft IIS Performance 主管
更新时间:2000年4月
根据 Nancy Cluts 的文章(英文)改写
Nancy Cluts - 开发人员技术工程师
Microsoft Corporation

摘要:本文提供了优化 ASP 应用程序和 VBScript 的技巧。

目录

简介

技巧 1:在 Web 服务器上缓存常用数据

技巧 2:在 Application 或 Session 对象中缓存常用数据

技巧 3:在 Web 服务器磁盘上缓存数据和 HTML

技巧 4:避免在 Application 或 Session 对象中缓存非灵活组件

技巧 5:不要在 Application 或 Session 对象中缓存数据库连接

技巧 6:妙用 Session 对象

技巧 7:在 COM 对象中封装代码

技巧 8:晚点获取资源,早点释放资源

技巧 9:进程外的执行将牺牲可靠性

技巧 10:显式使用选项

技巧 11:在子例程和函数中使用局部变量

技巧 12:将常用数据复制到脚本变量

技巧 13:避免重新定义数组

技巧 14:使用响应缓冲

技巧 15:批处理内嵌脚本和 Response.Write 语句

技巧 16:在开始长时间的任务之前先使用 Response.IsClientConnected

技巧 17:使用 <OBJECT> 标记实例化对象

技巧 18:使用 ADO 对象和其他组件的 TypeLib 绑定

技巧 19:利用浏览器的验证能力

技巧 20:在循环中避免字符串串联

技巧 21:启用浏览器和代理缓存

技巧 22:尽可能使用 Server.Transfer 替代 Response.Redirect

技巧 23:在目录 URL 尾部加斜线

技巧 24:避免使用服务器变量

技巧 25:升级为最新的和最好的版本

技巧 26:调整 Web 服务器

技巧 27:进行性能测试

技巧 28:读取资源链接


--------------------------------------------------------------------------------

简介

性能是一个特性。您需要预先设计性能,或是在日后重新编写应用程序。换句话说,什么是最大限度优化 Active Server Pages (ASP) 应用程序性能的好策略?

本文为优化 ASP 应用程序和“Visual Basic(R) 脚本编辑器 (VBScript)”提供了许多技巧。对许多陷阱和缺陷进行了讨论。本文所列的建议均在 http://www.microsoft.com 及其他站点上进行了测试,而且工作正常。本文假定您对 ASP 开发有基本的理解,包括对 VBScript 和/或 JScript、ASP Application、ASP Session 和其他 ASP 内部对象(请求、响应和服务器)。

ASP 的性能,通常不止取决于 ASP 代码本身。我们并不想在一篇文章中囊括所有的至理名言,只在最后列出与性能相关的资源。这些链接包括 ASP 和非 ASP 主题,包括“ActiveX(R) 数据对象 (ADO)”、“部件对象模型 (COM)”、数据库和“Internet 信息服务器 (IIS)”配置。这些是我们喜欢的链接 - 务请关注它们。

技巧 1:在 Web 服务器上缓存常用数据

典型的 ASP 页从后端数据库检索数据,然后将结果转换为超文本标记语言 (HTML)。无论数据库的速度如何,从内存检索数据要比从后端数据库检索数据快得多。从本地硬盘读取数据通常也要比从数据库检索数据快得多。因此,通常可以通过在 Web 服务器(在内存或磁盘)上缓存数据来改善性能。

缓存是典型的空间与时间的折衷。如果恰当地缓存数据,您将看到性能会有惊人的提高。为使缓存发挥效力,它必须保持经常重用的数据,而且重新计算这些数据的代价是昂贵的或比较昂贵的。如果缓存充满了垃圾数据,则是对存储器的浪费。

不经常变化的数据也是缓存的候选数据,因为您无须担心数据与数据库的同步问题。组合框、引用表、DHTML 碎片、可扩展标记语言 (XML) 字符串、菜单项和站点配置变量(包括数据源名称 (DSN)、Internet 协议 (IP) 地址和 Web 路径)都是缓存的候选数据。注意,您可以缓存数据的表示而不是数据本身。如果 ASP 页不经常更改,而且缓存的成本也非常高(例如,整个产品目录),请考虑预先生成 HTML,而不是在每次请求时重新绘制。

数据应缓存在何处,有哪些缓存策略?数据经常缓存在 Web 服务器内存或 Web 服务器磁盘上。下面两个技巧讨论这些选项。

技巧 2:在 Application 或 Session 对象中缓存常用数据

ASP Application 和 Session 对象为在内存中缓存数据提供了方便的容器。既可以将数据赋予 Application 对象,也可将数据赋予 Session 对象,这些数据在 HTTP 调用中将保留在内存中。Session 数据按用户存储,而 Application 数据在所有用户间共享。

何时将数据载入 Application 或 Session?通常,在 Application 或 Session 启动时加载数据。要在 Application 或 Session 启动时加载数据,请在下面两函数中添加相应的代码:Application_OnStart() 或 Session_OnStart()。这两个函数应该位于 Global.asa;如果没有,可以添加这些函数。也