如何实现Asp应用程序性能的最优化

来源:互闻网  作者:本站整理
摘要:ASP做为当前Web应用系统最普及的一种开发技术,能快速执行你的动态网页,但你还可以通过紧缩代码和数据库连接以使它们执行更快。这是一篇关于怎样精简代码和Asp特征以获得最快执行速度的详细文章。对于一个急燥的用户来说,任何在按下用户按钮到结果出现在它们的屏幕之间…

假如你的脚本冗长的话,请使用Response.IsClientConnected。这意味着在客户端不再连接到服务器的时候,你的服务器CPU能避免循环等待。

<%
'检查客户端是否仍在连接
If Not Response.IsClientConnected Then
'仍然连接着,处理程序
Else
'断开
End If
%>

Interspersing ASP and HTML

每个人都这样做?当我们输出表格的时候,我们会在ASP 和HTML代码间转换,而这是一个不好的习惯。例如:

<HTML>
<BODY>
<%
Set MyConn = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("sample.mdb")
MyConn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"
SQL_query = "SELECT * FROM Friends"
Set RS = MyConn.Execute(SQL_query)
WHILE NOT RS.EOF
%>
<LI><%=RS("Name")%>: <A HREF="">Homepage</A>
<%
RS.MoveNext
WEND
%>
</BODY>
</HTML>

另一个普遍的例子是使用IF语句的时候:

<%
If Not Session("DBOpen") Then
%>
<H1>Database not connected</H1>
<%
Else
%>
<H1>Database open</H1>
<%
End If
%>

在这些情况下,脚本性能能通过将服务器端脚本写到一起来,而用Response.write产生Html代码来提高性能。比如:

<%
If not Session ("DBOpen") Then
Response.Write "<H1>Database not connected</H1>"
Else
Response.Write "<H1>Database open</H1>"
End If
%>

在大的脚本和很多脚本的情况下,你将能看到性能的提高。注意这里尽量避免了使用<%标记,这样就能提高性能,ASP不需在执行脚本的时候计算字符的Ascii码。

Session状态

无庸置疑地,在Asp中能够通过Session维持某个状态的能力是十分强大的特色。然而,它会影响你的性能。明显地,你的站点的可伸缩性性变成了另一个问题,如果限制Session的使用的话。然而,session会为每个用户消耗服务器资源。如果你不使用session 变量,或事实上你不必使用?使用隐藏表单域,在数据库中保存数据,查询字符串是不是其中的窍门?所以你应该禁止Session状态。你可以使用下面的声明禁止使用session:

@EnableSessionState = False

这样,ASP将不再检查session信息。

如果你不得不依赖于session状态,应该避免在session对象中存放大量的数据。IIS中的session在客户端的HTTP cookie可用的时候就会保持,导致被session占用的内存在session 终止或超时前一直被占用。这样,如果很多用户同时使用你的程序的时候,你的服务器资源可能会耗尽。

【相关文章】好搜一下
思科交换机提供的三种交换模式

思科交换机提供的三种交换模式

交换机在交换数据帧时可以选择不同的模式来满足网络和用户的需要,思科的交换机提供三…