当前位置: 首页 > 图文教程 > 网络编程 > ASP > 提高ASP性能的最佳选择(二)

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错误处理

提高ASP性能的最佳选择(二)


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

      是否应该开启缓冲器?
  通过脚本程序启动缓冲器

  在ASP脚本的顶部包含Response.Buffer=True ,IIS就会将页面的内容缓存。

  < % OPTION EXPLICIT

  Response.Buffer = true

  Dim FirstName

  …

  /app1/buffer__1.asp的片段

  以前的最佳(反应时间)= 7.05 msec/page

  反应时间 = 6.08 msec/page

  差= -0.97 msec (降低13.7%)

  性能得到了极大提高。但是等等,还能有更好的。

  通过服务器配置启动缓冲器

  虽然在IIS 5.0中缓冲器是被默认启动的,但是在IIS 4.0中还必须手动来启动它。这时要找到站点的Properties 对话框,在那里,从Home Directory 标签中选择配置按钮。然后在"App options"下选择"enable buffering" 。对于这个测试,Response.Buffer 语句从脚本中被移走了。

  以前的最佳= 7.05 msec/page

  反应时间 = 5.57 msec/page

  差= -1.48 msec (降低 21.0%)

  目前,这是我们所得到的最快反应了,比我们以前最好情况下的反应时间还要降低21%。从现在开始,我们以后的测试都要把这个反应时间作为基准值。

  回顾及观测

  缓冲器是提高性能的好方法,所以把缓冲器设置成服务器的默认值很有必要。如果因为某些原因,页面不能正确地使缓冲器运行,只需要Response.Buffer=False 命令即可。缓冲器的一个缺点是在整个页面处理完之前,用户从服务器看不到任何东西。因此,在复杂页面的处理期间,偶而调用一次Response.Flush 来更新用户是个好主意。

  现在在我们的规则中又增加了一条:总是通过服务器设置开启缓冲器。

是否应该考虑向ASP代码中增加注释?
  大部分HTML开发人员都知道包含HTML注释不是个好主意,首先会增加传输数据的规模,其次它们只是向别的开发人员提供有关你页面组织的信息。但是ASP页面上的注释又如何呢?它们从来不离开服务器,但也确实要增加页面的规模,因此必须用ASP进行分解。

  在这次的测试中,我们增加20条注释,每条有80个字符,总共有1600个字符。

  < % OPTION EXPLICIT

  '-------------------------------------------------------------------------------

  … 20 lines …

  '-------------------------------------------------------------------------------

  Dim FirstName

  …

  /app2/comment_1.asp片段

  基准= 5.57 msec/page

  反应时间= 5.58 msec/page

  差 = +0.01 msec (增加 0.1%)

  测试的结果是惊人的。虽然注释几乎相当于文件本身的两倍,但是它们的存在并没有给反应时间带来很大的影响。所以说我们可以遵循以下规则:

  只要使用适度,ASP注释对性能的影响很小或根本没有影响。

是否应该为页面明确地设置默认语言?
  IIS处理VBScript是默认的设置,但是我看到,在大多数例子中还是用< %@LANGUAGE=VBSCRIPT% >声明将语言明确地设置为VBScript 。我们的下一个测试将检验这个声明的存在对性能有什么影响。

  < %@ LANGUAGE=VBSCRIPT % >

  < % OPTION EXPLICIT

  Dim FirstName

  …

  /app2/language1.asp片段。

  基准值= 5.57 msec/page

  反应时间= 5.64 msec/page

  差= +0.07 msec (增加1.2%)

  可以看到,包含了语言的声明对性能有一个轻微的影响。因此:

  * 设置服务器的默认语言配置以与站点上使用的语言相匹配。

  * 除非你使用非默认语言,不要设置语言声明。

如果不需要,是否应该关闭Session 状态?
  避免使用IIS的Session上下文有许多理由,那些已经可以独立成为一篇文章。我们现在试图回答的问题是当页面不需要时,关闭Session上下文是否对性能提高有所帮助。从理论上讲应该是肯定的,因为这样一来就不需要用页面例示Session上下文了。

  同缓冲器一样,Session状态也有两种配置方法:通过脚本和通过服务器设置。

  通过脚本关闭Session上下文

  对于这个测试,要关闭页面中的Session上下文,我增加一个Session状态声明。

  < %@ ENABLESESSIONSTATE = FALSE % >

  < % OPTION EXPLICIT

  Dim FirstName

  …

  /app2/session_1.asp片段。

  基准值= 5.57 msec/page

  反应时间= 5.46 msec/page

  差= -0.11 msec (降低2.0%)

  只通过这样一个小小的努力就得到了不错的进步。现在看看第二部分。

  通过服务器配置关闭Session 上下文

  要在服务器上关闭Session 上