网络编程
位置:首页>> 网络编程>> Asp编程>> 提高ASP性能的最佳选择第二部分(3)

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

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

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

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

  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% 增加)

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

0
投稿

猜你喜欢

  • 一、前言本篇博客对于文件操作、字典、列表、匿名函数以及sort()等内置函数进行了系统的整理操作,以设计一个学生信息管理系统的形式展示,具体
  • Mysql Workbench是一款开源的数据库客户端,在IT行业这款开源的软件也是相当有名气的,很多使用musql的同仁都喜欢使用这款客户
  • 新手,虽然比较简单的东西,但是弄了我很久。很多不完善的地方,比如锁定用户,同一用户输入错三次密码就会锁定,但是如果在第二第三次换了用户再输入
  • 在给blog加上无刷新搜索和即时验证检测后,又看了下代码,感觉太过麻烦,就把XMLHttpRequest请求封装到一个类里面,用起来方便多了
  • 导语昨晚玩起了小时候玩的游戏“吃豆豆”,但是我发现,一局游戏三条命,我根本不能吃完所有的豆豆,总是被
  • Kettle简介Kettle最早是一个开源的ETL(Extract-Transform-Load的缩写)工具,全称为KDE Extracti
  • 实现效果将位于/img目录下的1000张.png图片,转换成.webp格式,并存放于img_webp文件夹内。源图片目录目标图片目录关于批量
  • 背景今天朋友给我发了一个某游戏的兑换码,压缩文件发过来的。结果被加密了。wc?还说叫爸爸就给我密码?男人是这么容易像恶势力低头的?直接给你爆
  • 本文实例讲述了Python矩阵常见运算操作。分享给大家供大家参考,具体如下:python的numpy库提供矩阵运算的功能,因此我们在需要矩阵
  • 在开始编写应用之前,我们先从最基本的程序开始。就像你造房子之前不知道什么是地基一样,编写程序也不知道如何开始。因此,在本节中,我们要学习用最
  • 相信许多小伙伴都玩过数字 * 游戏,就是指在一定数字范围(一般是整数,不包含边界)里,一个玩家选中一个数字当作 * ,其余玩家在这个范围猜数字,
  • 前言众所周知在Python 中常用的数据类型bool(布尔)类型的实例对象(值)就两个,真和假,分别用True和False表示。在if 条件
  • 引言前几天忽然想到了四则运算和二树有没有关系,然后在网络上检索了一下,发现还真的有四则运算和二叉树。因为总是见到把 四则运算表达式 用 树
  • MySQL中的锁锁是为了解决并发环境下资源竞争的手段,其中乐观并发控制,悲观并发控制和多版本并发控制是数据库并发控制主要采用的技术手段(具体
  • PHP getNamespaces() 函数实例返回 XML 文档中使用的命名空间:<?php $xml=<<<XM
  • 一:函数介绍np.random.permutation() 总体来说他是一个随机排列函数,就是将输入的数据进行随机排列,官方文档指出,此函数
  • 由于项目的需要在一个页面中选择打印内容。 把自己要打印的东西用一个DIV层抱起来。例如: <!-- 信访事项转办告知单Start --
  • 敲了这么多年代码,每年都得画一些心啊花啊什么的,所以现在常规的已经有些倦怠了,至少也得来个三维图形才看着比较合理,而且光是三维的也没啥意思,
  • 这篇文章主要介绍了基于python实现从尾到头打印链表,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋
  • 直接上代码:#!/usr/bin/python # Filename s5.py # Python Dynamic Socks5 Proxy
手机版 网络编程 asp之家 www.aspxhome.com