好学IT学院:IT信息技术分享交流平台
标签:ASP  来源:互联网  作者:佚名  发布时间:2009-03-27  ★★★加入收藏〗〖手机版
摘要:ActiveServerPages可以让动态页面很快地执行,但是,在代码中和数据库的连接上加入一些技巧,就能让程序更快地执行。这是一篇关于如何精制脚本程序以及ASP特征来达到最大速度的文章。任何在用户点击按钮到在屏幕上出现结果间延迟都会让用户茫然,对于一个商业…

为什么这很重要

现在你可能奇怪为什么学习这种新的连接方法很关键?为什么不使用标准的DSN或者系统DSN方法?好,根据Wrox在他们的ADO 2.0程序员参考书籍中所做的测试,如果使用OLEDB连接,要比使用DSN或者DSN-less连接,有以下的性能提高表现:

性能比较

SQL   Access
OLEDB DSN   OLEDB DSN
连接时间: 18 82  连接时间: 62 99
重复1,000个记录的时间: 2900 5400 重复1,000个记录的时间:100 950

这个结论在Wrox的ADO 2.0程序员参考发表。时间是以毫秒为单位,重复1,000个记录的时间是以服务器油标的方式计算的。

● 只有可能,就使用客户端脚本对用户输入进行验证,以此来最小化HTTP请求的循环操作。

如果浏览器具备执行JavaScript或其他脚本的能力,请充分应用,从而解放服务器端的资源。

下面的VBScript脚本在用户的浏览器端运行,检查用户信息,然后再提交给服务器:

< SCRIPT LANGUAGE="VBScript" >
< !--
Sub btnEnter_OnClick
  Dim TheForm
  Set TheForm = Document.MyForm
  If IsNumeric(TheForm.Age.Value) Then  
  TheForm.submit
  Else
  Msgbox "Please enter a numerical age."
  End if
End Sub
//-- >
< /SCRIPT >

< FORM  method="POST" name=MyForm  action="myfile.asp"   > 
   Name: < INPUT typr="text" name="Name"  >
   Age: < INPUT type="text" name="Age"  >
   < INPUT type="button" name="btnEnter"  value="Enter" >

< /FORM >

● 使用局部变量,而不要使用全局变量

因为局部变量可以很快地被ASP脚本引擎所存取,整个名字空间不必被搜索。避免重定义数组,在数组初始化时就分配足够的尺寸,会大大地提高效率。这么做可能浪费一些内存,但是确赢得了速度,尤其是在服务器有很大的负载时。

● 使用< OBJECT > 标记创建对象

如果需要引用一个实际上可能不被使用的对象,使用< OBJECT >标记来例示它们,而不要用Server.CreateObject。后者将导致对象立即被创建,而< OBJECT >是当对象被首次引用时才被创建。

比如,下面的代码演示了使用< OBJECT >标记来创建一个应用程序范围内的AD Rotator对象实例:

< OBJECT runat=server scope=Application id=MyAds progid="MSWC.AdRotator" >
< /OBJECT >
   然后,就可以在其他页面引用它:

● 打开“Option Explicit”

在VB和VBScript中,你可以不用明确地定义就使用变量。但是打开“明确定义变量”选项,将有助于提高程序性能。未定义的局部变量是很慢的,因为在变量创建前,整个的名字空间都要搜索,看看是否变量已经存在。所以,请打开“Option Explicit”,这是一个好的编程习惯。

● 慎用 Server.MapPath

除非必须,不要使用Server.MapPath!相反,如果知道路径,就使用明确的文字路径来表示。使用MapPath,将要求IIS去取回当前服务器路径,这意味着对IIS一个特殊的请求,从而降低了程序性能。另外的完成这个工作的方法是在局部变量中保存路径信息,当需要使用它时,服务器就不用再被过度请求。

检查怎样做

你可以通过下面的工具来测算服务器性能:Task Manager,NetMon 和 PerfMon。用WCAT (Web Capacity Analysis Tool)测量服务器的容量。你可以使用WCAT来检查Internet信息服务和网络配置如何响应不同的客户端对内容、数据和HTML页面的请求。测试的结果可以被用来决定如何最优化服务器和网络配置。

通过最优化ASP应用程序性能,Web站点应用将会变得很快,最终做到:当不需要时,就不需要去做影响性能的点击。

总结

当谈到ASP性能时,要涉及到许多方面,本文已经讨论了一些。但是,对于每个具体的应用,应该有单独的考虑,并不是这里讨论的技巧都能很合适地满足。