导言
改善程序性能是一件很微妙的事情。尤其是和INTERNET相关的程序,像ASP程序,制约其性能的因素很多,像WEB服务器、TCP/IP网络和数据库服务器等。这些大都是与硬件相关。其实在软件上,好的程序设计的方法和正确的参数配置也可以提高程序的性能,有时在同等情况下只要改变一个参数,程序执行效率就能大大提高。本文就试着在这方面做些探索。
一.影响性能的因素
ASP程序运行的性能主要决定于以下2个大方面:
1.HTML页面的执行效率
2.反应时间,其中反应时间主要受制于下面要素:
(1).ASP页面的执行效率
(2).数据库因素
下面我们就来详细讨论一下。
二.详细讨论
1.影响HTML的因素
HTML页面的执行效率是一个纯客户端的问题。影响这个问题的因素主要是客户端的硬件和他的网络带宽。除此之外,还有些下列因素也可以影响HTML页面的执行效率。
(1).图象因素。在HTML的页面尽量避免使用图象。这是因为当浏览器请求一个页面时,如果页面包含N个图象,这将使的浏览器要向WEB服务器请求N次调用。而这种请求会降低页面的加载进程。进而影响速度。
(2).框架问题。在网页里面使用框架同样也会降低页面的加载进程,和图象因素相似,加载一个N个框架也需要请求N次。
(3).表格问题,尽量避免使用表格,尤其是尽量避免使用多重表格,繁杂的表格会影响HTML的执行效率。
(4).去除多余的标记符,让我们来看看下面的例子:
<Body><br>
<P><font face="Verdana" size="4"><br>
</font></P><br>
<P><font face="Verdana" size="4"><br>
</font></P><br>
<P><font face="Verdana" size="4"><br>
</font></P><br>
</Body><br>
你可以去掉 <font>标记符,如下:
<Body><br>
<font face="Verdana" size="4"><br>
<P><br>
</P> <br>
<P> <br>
</P><br>
<P> <br>
</P><br>
<font> </Body><br>
(5).减少注释,这将会减少文件的大小。进而提高加载速度。
(6).避免使用长文件名,并且在页面里尽量使用相对路径访问其他文件。
(7).在HTML页面里面尽量避免使用Java Applets。例如,如果你想使用Java Applets来处理动画,那么你可以考虑用GIF文件或者是FLASH来代替,而这将比Java Applets快很多。
2.影响ASP的要素
(1).尽量把对象变量转换成本地变量,因为读本地变量比读对象变量要快许多。
比较慢的例子:
if Myobj.Value = 0 then
Do something
elseif Myobj.Value > 0 then
Do something
elseif Myobj.Value < 0 then
Do something
end if
比较快的例子:
MyVar = Myobj.Value
if MyVar = 0 then
Do something
elseif MyVar > 0 then
Do something
elseif MyVar < 0 then
Do something
end if
(2).如果你使用的是VBScript 5.0或者是更新的版本,尽量使用 With ... End With语句,这也可以提高你的程序运行速度。
比较慢的例子:
Myobj.FirstName = "Srinivasa"
Myobj.LastName = "Sivakumar"
Myobj.City = "Chicago"
比较快的例子:
With Myobj
.FirstName = "金虎"
.LastName = "马"
.City = "滁州"
End with
(3).就总体而言,避免使用session变量有助于提高速度,这是因为不同的ASP页面分别在不同的线程里面运行的,而session调用却不是这样的,他是连续的。
3.数据库问题
设计好一个数据库结构可以大大提高程序的运行速度,当然怎么设计数据库结构不是本文讨论的问题。我们先假设已经设计好了数据库结构,看看还能做些什么事情来提高程序的运行速度。
(1).如果你的数据库服务器和WEB服务器是同一个,那么最好分开。这肯定能够提高速度。
(2).如果你访问数据库,最好不要使用动态的SQL语句,使用存储过程或者视图。
(3).有时分配适当的数据库buffers会提高程序的性能。这是因为,假如如果你使用的是Oracle数据库,对于每个连接都需要打开三个sessions。如果你能够处理好这些事情,你将会提高程序的性能。
总结
其实影响ASP程序执行速度的因素有很多,以上只是一部分。当然上面的一些技巧也不一定适合所有的ASP程序,对待不同的程序要采用不同的策略。最后希望以上的本文能对您有所帮助。