提高ASP页面访问速度的详细方案
其中一项技术:提高使用请求集的效率。访问一个ASP中提取一个值是一个耗时的过程,需要的计算资源。由于此操作包含一系列相关集合的搜索,这比访问局部变量要慢的多。因此,如果你打算使用一个价值观的要求在页面上设置了许多次,它应该是认为它存储为一个局部变量。
例如,代码是用下面的表单编写的,以加速脚本引擎的处理速度:
复制代码代码如下所示:
strtitle =要求表单(标题)
strfirstname =要求表单(名)
strlastname =要求表单(姓)
如果Len(strtitle)然后strtitle = strtitle
如果strfirstname = 然后strfullname = strtitle strlastname
Elseif Len(strfirstname)= 1
strfullname = strtitle strfirstname ,strlastname
其他的
strfullname = strtitle strfirstname strlastname
最后如果
技巧二:直接访问适当的集合
如果不是没有选择,不要用strpage =请求(或页)这种形式获得的参数,因为这会为了搜索所有的查询、形式、饼干、客户证书,servervarible直到第一个匹配值名称的发现。这比直接访问适当的收集效率低、不安全,除非是绝对保证值不出现在另一套。
例如,你可能想搜索的Web服务器,满足客户端请求的名称,它是由每个查询的request.servervarables收集发现server_name实现。然而,如果另一组也包含值为server_name(关键不区分大小写),使用要求时(server_name ),你会得到一个错误的结果。总之,适当的收集应尽可能多的访问。
技巧三:耗时的操作之前,使用response.isclientconnected财产
使用response.isclientconnected是看用户是否仍然是连接到一个服务器,加载由ASP网页的一个有用的方法。如果用户断开或停止下载,我们不必浪费服务器的资源来创建一个网页,因为缓冲区的内容将由IIS丢弃。因此,对于页面上需要大量的计算时间和使用更多的资源,这是值得检查旅客的离线在每个阶段:
复制代码代码如下所示:
…创建页面第一部分的代码
如果response.isclientconnected然后
响应。冲洗
其他的
反应结束
最后如果
创建页面下一部分的代码
技巧四:优化ASP的ADO操作
一般来说,数据构成了网站的实际内容,因此,优化ADO操作以加快asp代码的执行是非常有用的。
只有选择列要求:当ADO记录集打开,表名(即选择*)不应该被自动应用除非所有列都需要。使用一个单独的列是指减少,发送到服务器或从服务器的数据量。如果你需要使用所有的列,每列将获得最佳的性能,因为服务器不需要解释这些列的名字。
B.使用存储过程尽可能。存储过程是一个预编译的程序,含有一个已经准备好的执行计划,所以执行SQL语句的速度比。
C.使用适当的游标和锁模式,如果您只需从记录集读取数据并将其显示在屏幕上,则使用只能向前移动和只读的默认记录集。
D.使用对象变量,一个肯定的方式来提高性能,当遍历记录集是使用对象变量的设定点的成员。例如:
复制代码代码如下所示:
而不是rsgc.eof
响应。写工程名称:rsgc(g)(工程编号:rsgc(gccode))
rsgc.movenext
走
您可以使用重写作为以下代码来加快执行速度:
复制代码代码如下所示:
集GCMC = rsgc(势)
集gccode = rsgc(gccode )
而不是rsgc.eof响应。写工程名称:g(工程代号:gccode )。
rsgc.movenext
走
新代码建立了对象变量的引用,因此它可以使用对象变量而不是实际变量,这意味着脚本引擎的工作会减少,因为集合中的索引数量减少了。
技巧五:不要使用脚本引擎
我们知道VBscript和Jscript可用于ASP页。但不建议使用Jscript和VBscript在同一页上。因为服务器必须被实例化并尝试缓存两个(而不是一个)的脚本引擎,这增加了系统的负担,因此,在一定程度上。性能方面,它不应混入各种脚本引擎在同一页上。