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

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

    使用包含文件有什么影响?

  ASP编程的一个重要功能就是包含来自其它页面的代码。通过这项功能,程序员可以在多个页面上共享函数,使代码更易于维护。缺点在于服务器必须从多个来源组装页面。以下是使用Include文件的两个测试。

  使用内联代码的Include 文件

  在这个测试中,有一小段代码被移到一个Include 文件中:


< % OPTION EXPLICIT
   Dim FirstName
    …
   Dim BirthDate
   FirstName = "John"
   …
   BirthDate = "1/1/1950"
   % >


< !-- #include file="inc1.asp" -- >

  /app2/include_1.asp片段

  基准值 = 5.57 msec/page
   反应时间= 5.93 msec/page
   差 = +0.36 msec (6.5% 增加)

  这不奇怪。使用Include 文件形成了负载。

  在函数区使用Include 文件

  在这里,代码都包装在一个Include 文件中的子程序里。Include 引用是在页面顶部进行的,在ASP脚本的适当位置调用子程序。


< % OPTION EXPLICIT
   Dim FirstName
   …
   Dim BirthDate
   FirstName = "John"
   …
   BirthDate = "1/1/1950"
   CALL writeTable()
   % >


< !-- #include file="inc2.asp" -- >

  /app2/include_2.asp片段

  基准值 = 5.57 msec/page
   反应时间= 6.08 msec/page
  差 =+0.51 msec (9.2% 增加)

  这对性能造成的影响比functions调用还大。因此:只有当代码在页面之间共享时才使用Include 文件。

    执行错误处理时会形成多大的负载?

  对于所有真正的应用程序来说,错误处理都是必要的。这个测试中,通过调用On Error Resume Next函数来调用错误句柄。


< % OPTION EXPLICIT
   On Error Resume Next
   Dim FirstName
   …


/app2/error_1.asp片段

  基准值 = 5.57 msec/page
   反应时间= 5.67 msec/page
   差= 0.10 msec (1.8% 增加)

  你可以看到,错误句柄带来了代价。我们可以提出以下建议:只有在会发生超出测试或控制能力之外的情况时才使用错误句柄。一个最基本的例子就是使用存取其它资源,如ADO或FileSystem 对象的COM对象。

    设置一个上下文处理是否对性能有影响?

  当错误发生时,在页面上设置一个上下文处理允许脚本进行反转操作。这是通过在页面上使用处理声明来设置的。


< %@ TRANSACTION = REQUIRED % >
   < % OPTION EXPLICIT
   Dim FirstName
   …


/app2/transact1.asp片段

  基准值 = 5.57 msec/page
   反应时间= 13.39 msec/page
   差 = +7.82 msec (140.4% 增加)

  啊!这真实最具有戏剧性的结果。所以请留意以下规则:只有当两个或更多操作被作为一个单元执行时,才使用处理上下文。

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

猜你喜欢

  • Python使用matplotlib绘制正弦和余弦曲线的方法示例

    2023-10-03 13:44:57
  • PyQt4实现下拉菜单可供选择并打印出来

    2023-08-19 01:10:35
  • 前端之vue3使用WebSocket的详细步骤

    2024-04-30 10:28:54
  • mysql 8.0.18 安装配置图文教程

    2024-01-21 09:46:33
  • Linux下创建Postgresql数据库的方法步骤

    2024-01-29 09:29:19
  • asp金额大小写转换完全无错版

    2007-09-26 09:38:00
  • Python矩阵常见运算操作实例总结

    2021-05-29 18:26:38
  • python在Windows下安装setuptools(easy_install工具)步骤详解

    2022-10-18 19:40:23
  • Bootstrap 模态对话框只加载一次 remote 数据的完美解决办法

    2023-08-06 15:58:18
  • js鼠标悬浮出现遮罩层的方法

    2024-02-23 10:37:43
  • springboot多数据源配合docker部署mysql主从实现读写分离效果

    2024-01-28 11:14:53
  • Python使用matplotlib实现在坐标系中画一个矩形的方法

    2022-05-13 00:19:13
  • Python函数式编程实例详解

    2023-02-26 21:26:31
  • python定时按日期备份MySQL数据并压缩

    2024-01-22 11:39:22
  • 用javascript实现给出的盒子的序列是否可连为一矩型

    2023-09-09 22:34:02
  • Python编解码问题及文本文件处理方法详解

    2021-04-13 07:52:06
  • 浅析Python 简单工厂模式和工厂方法模式的优缺点

    2023-08-04 00:15:00
  • 为什么JavaScript中正则表达式的test方法会出错?

    2009-03-17 12:38:00
  • 关于vue3默认把所有onSomething当作v-on事件绑定的思考

    2024-05-22 10:41:34
  • mysql密码忘记怎么办

    2024-01-17 06:20:30
  • asp之家 网络编程 m.aspxhome.com