提高ASP性能的最佳选择第二部分

来源:csdn 时间:2007-08-15 12:46:00 

是否应该开启缓冲器?

  通过脚本程序启动缓冲器
   在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 上下文,请到站点的Properties 对话框。在Home Directory 标签上选择Configuration 按钮。然后在"App options"下取消"enable session state" 的选择。我们在没有ENABLESESSIONSTATE 声明的情况下运行测试。

  基准值 = 5.57 msec/page
   反应时间= 5.14 msec/page
   差= -0.43 msec (降低7.7%)

  这是性能的又一个显著提高。所以,我们的规则应是:在不需要的情况下,总是在页面或应用程序的水平上关闭Session状态。

标签:ASP,提高性能,缓冲器,注释,包含文件
0
投稿

猜你喜欢

  • Python中输入若干整数以逗号间隔实现统计每个整数出现次数

    2021-10-27 22:20:04
  • Oracle + mybatis实现对数据的简单增删改查实例代码

    2024-01-27 06:14:53
  • Python计算一个文件里字数的方法

    2022-09-23 10:28:19
  • SQL Server在T-SQL语句中使用变量

    2024-01-21 10:21:34
  • python同步windows和linux文件

    2023-12-11 11:44:35
  • Python学习之字符串常用方法总结

    2021-12-19 02:19:46
  • MySQL8新特性:持久化全局变量的修改方法

    2024-01-19 05:38:30
  • 单页面vue引入百度统计的使用方法示例详解

    2024-05-11 09:14:23
  • Python+matplotlib绘制饼图和堆叠图

    2022-11-17 05:42:40
  • MySQL连接及基本信息查看命令汇总

    2024-01-24 10:47:40
  • Python生成rsa密钥对操作示例

    2021-08-25 03:43:31
  • Python学习小技巧之利用字典的默认行为

    2021-10-10 23:48:29
  • Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法

    2021-01-16 18:41:38
  • 使用Python发送各种形式的邮件的方法汇总

    2022-12-21 15:24:46
  • 手把手教你用SQL获取年、月、周几、日、时

    2024-01-24 05:04:12
  • javascript中声明函数的方法及调用函数的返回值

    2024-03-21 23:49:04
  • python实现微信远程控制电脑

    2023-07-07 07:43:43
  • ASP技术访问WEB数据库

    2023-07-11 22:50:09
  • Python自定义主从分布式架构实例分析

    2022-09-24 01:28:29
  • vue2 设置router-view默认路径的实例

    2023-07-02 17:03:02
  • asp之家 网络编程 m.aspxhome.com