优化ASP程序技巧四则

程序|技巧|优化

  本文将向大家介绍四则优化ASP应用程序的技巧。

  1.将经常使用的数据缓存在 Application 或 Session 对象中

  ASP的Application和Session对象为将数据暂存在内存中提供了方便的容器。你可以将数据指派到 Application和Session对象中,这些数据在HTTP调用之前保留在内存中。Session数据是按每个用户分别存储的,而Application数据则在所有用户之间共享。

  什么时候将数据装载到 Application 或 Session 中呢?通常,数据是在启动 Application 或 Session 时装载。要在Application或Session启动过程中装载数据,应将适当的代码分别添加到Application_OnStart()或Session_OnStart()中。这些函数应该在 Global.asa 中,如果没有,我们可手工添加进这些函数。还可以在第一次需要时装载该数据。为此,在 ASP 页中添加一些代码(或编写一个可重复使用的脚本函数),以检查数据是否存在,如果不存在,就装载数据。这是一个传统提高性能的技术,称为“惰性计算”,即在你知道需要某一个值以前不计算该值。程序举例如下:

<%
Function GetEmploymentStatusList
Dim d
d = Application(?EmploymentStatusList?)
If d = ?? Then
' FetchEmploymentStatusList function (not shown)
' fetches data from DB, returns an Array
d = FetchEmploymentStatusList()
Application(?EmploymentStatusList?) = d
End If
GetEmploymentStatusList = d
End Function
%>

  我们可以为所需要的每个数据块编写类似的函数。

  2.将代码封装在 COM 对象中

  如果你的Web应用程序中有许多 VBScript 或JScript代码,你可以经常将代码移到编译的 COM 对象中,从而可改善性能。将代码封装在 COM 对象中还有一些除提高性能之外的其他优点:

  (1)COM 对象有利于将表示逻辑与业务逻辑分开;

  (2)COM 对象可以保证代码重复使用;

  (3)用VB、VC++ 或 Visual J++ 编写的代码比 ASP 更容易调试。

  COM对象也有缺点,包括初始化时间长和需要不同的程序设计技巧。值得注意的是,在少量ASP代码被封装进 COM 对象时,可能不会使性能有所改进,反而会引起性能下降。这种情况通常是创建和调用 COM 对象的系统开销超过了编译代码的系统开销。因此,我们需要反复地试验,以确定什么样的 ASP 脚本和 COM 对象代码的组合可以产生最好的性能。

  3.处理内嵌脚本和Response.Write语句

  VBScript 语法的<% = expression %>是将“expression”的值写到ASP输出流中。如果响应缓冲未启用,那么执行其中的每一条语句都会以许多小的数据包通过网络将数据写到浏览器中。这样,执行速度很慢,而且穿插执行少量的脚本和 HTML,将会引起脚本引擎和 HTML 之间的切换,从而极大地降低了性能。因此,我们可以使用下面的技巧,即使用 Response.Write 调用代替捆绑紧密的内嵌表达式。

  例如,在下面的示例中,在每一行的每一字段对响应流有一次写操作,每一行在 VBScript 和 HTML 之间有多次切换:

<table>
<% For Each fld in rs.Fields %>
<th><% = fld.Name %></th>
<%
Next
While Not rs.EOF
%>
<tr>
<% For Each
fld in rs.Fields %>
<td><% = fld.Value %></td>
<% Next
</tr>
<% rs.MoveNext Wend %>
</table>

  为了使上面的代码运行效率更高,我们可以利用下面的代码,代码的每一行对响应流有一次写操作,所有的代码都包含在一个VBScript程序内:

<%
Response.Write(?<table>?)
For each fld in rs.Fields
Response.Write (?<th>? && fld.Name && ?</th>? && vbCrLf)
Next
While Not rs.EOF
Response.Write (?<tr>?)
For Each fld in rs.Fields %>
Response.Write(?<td>? && fld.Value && ?</td>? && vbCrLf)
Next
Response.Write(?</tr>?)
Wend
Response.Write(?</table>?)
%>

  当禁用响应缓冲时,这一技巧的效果特别明显。最好启用响应缓冲,然后看批处理 Response.Write 是否有助于提高性能。

  4.避免重新确定数组的维数

  在应用数组时,我们应尽量避免使用Redim数组。就性能而言,如果计算机的物理内存大小有限,最好将数组的初始维数设置为其最不利的情况,或者将维数设置为其最佳的情况,然后再按需要重新确定维数。

  在开发ASP的Web应用程序过程中,充分利用以上技巧会使你的Web程序具有较高的执行性能。

时间: 2024-12-21 13:42:34

优化ASP程序技巧四则的相关文章

优化ASP应用程序技巧四则

程序|技巧|优化|技巧|优化 本文将向大家介绍四则优化ASP应用程序的技巧. 1.将经常使用的数据缓存在 Application 或 Session 对象中 ASP的Application和Session对象为将数据暂存在内存中提供了方便的容器.你可以将数据指派到 Application和Session对象中,这些数据在HTTP调用之前保留在内存中.Session数据是按每个用户分别存储的,而Application数据则在所有用户之间共享. 什么时候将数据装载到 Application 或 Se

完全优化ASP程序性能

ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情. 现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧! 一. 有关操作数据库的优化方法 我们使用ASP最主要的用途就是对数据库进行操作了,如何更快速的完成

优化ASP程序

程序|优化   ASP编程应该是比较容易上手,运用frontpage.VI等工具,可以十分方便地构键WEB页面,而VBScript/JavaScript等脚本语言也很容易上手.当掌握了ASP编程之后,也许你比较关心的是程序的效率问题,即怎样使你的程序更加迅速地执行,而少占用服务器的CPU和内存开销,这一点很重要,如果有很多人访问你的网站,这种因数必须被考虑,否则系统崩溃可不是好玩的.  这里我们的讨论以VBScript讨论为主.  1.避免使用VBScript的动态数组.    VBScript

优化Asp程序的性能

ASP 能快速执行你的动态网页,但你还可以通过紧缩代码和数据库连接以使它们执行更快.这是一篇关于怎样精简代码和Asp 特征以获得最快执行速度的详细文章.对于一个急燥的用户来说,任何在按下用户按钮到结果出现在它们的屏幕之间的延迟可能意味着它们会转到浏览其它的站点?假如你的是商业站点,这有可能意味着失去潜在的销售. 我们没有任何办法控制用户的带宽,但我们的确能通过优化Asp 站点来获得最佳的性能.大部分潜在性能的提升是通过系统改变而不是紧缩代码,一个不合适的想法是,一旦遇到系统效率问题,就向系统管理

技巧:最大限度优化你的Asp程序的性能

程序|技巧|性能|优化 ASP 能快速执行你的动态网页,但你还可以通过紧缩代码和数据库连接以使它们执行更快.这是一篇关于怎样精简代码和Asp 特征以获得最快执行速度的详细文章.对于一个急燥的用户来说,任何在按下用户按钮到结果出现在它们的屏幕之间的延迟可能意味着它们会转到浏览其它的站点?假如你的是商业站点,这有可能意味着失去潜在的销售. 我们没有任何办法控制用户的带宽,但我们的确能通过优化Asp 站点来获得最佳的性能.大部分潜在性能的提升是通过系统改变而不是紧缩代码,一个不合适的想法是,一旦遇到系

全面优化ASP应用程序的性能的方法_应用技巧

                                          ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情.  现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧!  一. 有关

ASP程序开发中Session的应用技巧

session|程序|技巧 写过稍微大型一点 ASP 的人都知道,Session 这个对象真是好用,它可以用来记录使用者私有的资料变量,既安全又方便.但是你真的知道 Session 的运作原理吗?或许了解以后,你就再也不太敢使用这个令人又爱又恨的对象.虽然转而替代之的方法稍嫌麻烦,但在长期考量之下,也就不得不这么做了. 首先来讲讲 Session 的好处,它可以用来记录客户端私有的资料变量,并且在时间范围内不会消失.这真的是很重要的功能,尤其是有会员的系统必须要用到的.像是会员的登入帐号.时间.

全面优化ASP应用程序的性能(转载)

程序|性能|优化 ASP 本身并不是一种脚本语言,它只是提供了一种使镶嵌在 HTML 页面中的脚本程序得以运行的环境,而在ASP中最常用的脚本语言就是VBScript了.虽然ASP的脚本语言很简单,但是要想让一个ASP程序能够最优化的运行也不是一件简单的事情. 现在国内的网络带宽很有限,网络十分拥挤,如何使得自己的ASP应用程序能够快速的运行就成为了每一个ASP程序员的梦想了.那就跟随我来一同加速你的ASP程序吧! 一. 有关操作数据库的优化方法 我们使用ASP最主要的用途就是对数据库进行操作了

ASP.NET技巧:同时对多个文件进行大量写操作对性能优化

asp.net|技巧|性能|优化 我自己的一个项目,需要同时对65536个文件进行多次写操作. 如果先全部打开所有的文件,然后重复写,最后关闭所有的文件.那么第一次写操作全部完成需要16分钟左右,而第二次就需要40分钟了.没有继续测试了.             for (int i = 0; i < 65536; i++)            {                fileStream[i] = new FileStream(buffDir+"\\"+ i.ToS