SEARCH
新闻资讯

网站知识库

提升ASP建设网站的运行速度

2020/4/11 11:04:34

1,提升使用Request荟萃的服从
访问一个ASP荟萃来提取一个值是费时的、占用计算资源的过程。由于这个操作包含了一系列对相干荟萃的搜索,这比访问一个局部变量要慢得多。因此,假如打算在页面中多次使用Request荟萃中的一个值,应该考虑将其存贮为一个局部变量。
例如将代码写成下面的情势以加快脚本引擎处理速度: 

strTitle=Request.Form("Title")
strFirstName=Request.Form("FirstName")
strLastName=Request.Form("LastName")
If Len(strTitle) Then strTitle=strTitle & " "
If strFirstName="" Then strFullName=strTitle & " " & strLastName
Elseif Len(strFirstName)=1 Then
strFullName=strTitle & strFirstName & ". " & strLastName
Else
strFullName=strTitle & strFirstName & " " & strLastName
End If

2:直接访问适当的荟萃
假如不是别无选择,否则不要使用strPage=Request("page")的这样的情势来获取参数,由于这将按顺序搜索悉数的荟萃—QueryString、Form、Cookies、ClientCertificate、ServerVarible直到发现第一个匹配值的名称。这样做比直接访问适当的荟萃服从低,并且是不安全的,除非能绝对保证这个值不会出如今另外一个荟萃中。
例如,可能盼望搜索知足客户请求的WEB服务器名称,这通过出如今每个查询中的Request.ServerVarables荟萃中探求“SERVER_NAME”来实现。然而,如果其他的荟萃也包含名为“SERVER_NAME”的值(键名不区分大小写),当使用Request("server_Name")时,就会得到错误的效果。总而言之,应尽可能直接访问适当的荟萃。 技巧之三:在费时操作前使用Response.IsClientConnected属性   使用Response.IsClientConnected是观察用户是否仍连到服务器并正在载入ASP创建的网页的有效方法。假如用户断开连接或制止下载,我们就不用再虚耗服务器的资源创建网页,由于缓冲区内容将被IIS丢弃。所以,对那些必须要大量时间计算或资源使用较多的网页来说,值得在每一阶段都检查游览者是否已离线:    

Code to create first part of the page
If Response.IsClientConnected Then
Response.Flush
Else
Response.End
End If
…… Code to create next part of page


3:优化ASP中的ADO操作
通常面言,数据构成了WEB站点的现实内容。所以,优化ADO操作以加速ASP代码实行,十分有效:
a. 仅选择所需的列:当打开ADO记录集时,除非必须要获得所有的列,否则不应主动地使用表名(即SELECT *)。使用单独的列意味着将削减发送到服务器或从服务器掏出的数据量。即使必须要使用悉数列,单独地命名每个列也会获得最佳的性能,由于服务器不必再诠释这些列的名字。
b. 尽可能的使用存储过程。存储过程是预先编译的程序,含有一个已经预备好的实行计划,所以比SQL语句实行更快。
c. 使用适当的光标和锁定模式。假如所做的悉数工作只是从记录集中读取数据,并将其表现在屏幕上,那么就使用缺省的只能前移、只读的记录集。ADO用来维护记录和锁定的细节的工作越少,实行的性能就越高。
d. 使用对象变量。当遍历记录集时一个一定能提升性能的方式是使用对象变量指向荟萃中的成员。例如:    

While Not RsGc.EOF
Response.Write "工程名称:" & RsGc("GcMC") & "(工程代码:" & RsGc("GcCode")   & ")  "
RsGc.MoveNext   Wend

可以用改写为下面的代码以加快实行:    
set GcMc=RsGc("GcMc")
set GcCode=RsGc("GcCode")
While Not rsGc.EOF Response.Write "工程名称:" & GcMc & "(工程代码:" & GcCode & ")
" RsGc.MoveNext
Wend

新的代码建立了对象变量的引用,所以可以使用对象变量而不是现实的变量,这意味着脚本引擎的工作削减了,由于在荟萃中进行索引的次数变少了。

4:不要混用脚本引擎
我们知道,ASP页面中既可以使用VBScript,也可以使用JScript。但是在统一个页面上同时使用JScript和VBScript则是不可取的。由于服务器必须实例化并尝试缓存两个(而不是一个)脚本引擎,这在肯定程度上增长了体系负担。
因此,从性能上考虑,不应在统一页面中混用多种脚本引擎。


如没特殊注明,文章均为成都网站建设公司唯赛网络原创,转载请注明来自http://www.weseo.cn/News/knowledge_675_11868.html

Contact

ADD:成都市青羊区光华东三路西环广场6楼

TEL:028-64232097

Wechat

微信二维码