當(dāng)前位置:首頁(yè)文章首頁(yè) IT學(xué)院 IT技術(shù)

提高ASP頁(yè)面的執(zhí)行效率的小技巧

作者:  來(lái)源:  發(fā)布時(shí)間:2011-6-2 15:30:15  點(diǎn)擊:

這邊文章將給大家介紹到一些小技巧,關(guān)于如何提高ASP頁(yè)面的執(zhí)行效率,希望對(duì)大家有所幫助。

改善程序性能是一件很微妙的事情。尤其是和INTERNET相關(guān)的程序,像ASP程序,制約其性能的因素很多,像WEB服務(wù)器、TCP/IP網(wǎng)絡(luò)和數(shù)據(jù)庫(kù)服務(wù)器等。這些大都是與硬件相關(guān)。其實(shí)在軟件上,好的程序設(shè)計(jì)的方法和正確的參數(shù)配置也可以提高程序的性能,有時(shí)在同等情況下只要改變一個(gè)參數(shù),程序執(zhí)行效率就能大大提高。本文就試著在這方面做些探索。

  一.影響性能的因素

  ASP程序運(yùn)行的性能主要決定于以下2個(gè)大方面:

  1.HTML頁(yè)面的執(zhí)行效率

  2.反應(yīng)時(shí)間,其中反應(yīng)時(shí)間主要受制于下面要素:

  (1).ASP頁(yè)面的執(zhí)行效率

  (2).數(shù)據(jù)庫(kù)因素

  下面我們就來(lái)詳細(xì)討論一下。

  二.詳細(xì)討論

  1.影響HTML的因素

  HTML頁(yè)面的執(zhí)行效率是一個(gè)純客戶端的問(wèn)題。影響這個(gè)問(wèn)題的因素主要是客戶端的硬件和他的網(wǎng)絡(luò)帶寬。除此之外,還有些下列因素也可以影響HTML頁(yè)面的執(zhí)行效率。

  (1).圖象因素。在HTML的頁(yè)面盡量避免使用圖象。這是因?yàn)楫?dāng)瀏覽器請(qǐng)求一個(gè)頁(yè)面時(shí),如果頁(yè)面包含N個(gè)圖象,這將使的瀏覽器要向WEB服務(wù)器請(qǐng)求N次調(diào)用。而這種請(qǐng)求會(huì)降低頁(yè)面的加載進(jìn)程。進(jìn)而影響速度。

  (2).框架問(wèn)題。在網(wǎng)頁(yè)里面使用框架同樣也會(huì)降低頁(yè)面的加載進(jìn)程,和圖象因素相似,加載一個(gè)N個(gè)框架也需要請(qǐng)求N次。

  (3).表格問(wèn)題,盡量避免使用表格,尤其是盡量避免使用多重表格,繁雜的表格會(huì)影響HTML的執(zhí)行效率。

  (4).去除多余的標(biāo)記符,讓我們來(lái)看看下面的例子:

<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>標(biāo)記符,如下:

<Body><br>
<font face="Verdana" size="4"><br>
<P><br>
</P> <br>
<P> <br>
</P><br>
<P> <br>
</P><br>
<font> </Body><br>

  (5).減少注釋,這將會(huì)減少文件的大小。進(jìn)而提高加載速度。

  (6).避免使用長(zhǎng)文件名,并且在頁(yè)面里盡量使用相對(duì)路徑訪問(wèn)其他文件。

  (7).在HTML頁(yè)面里面盡量避免使用Java Applets。例如,如果你想使用Java Applets來(lái)處理動(dòng)畫,那么你可以考慮用GIF文件或者是FLASH來(lái)代替,而這將比Java Applets快很多。

  2.影響ASP的要素

  (1).盡量把對(duì)象變量轉(zhuǎn)換成本地變量,因?yàn)樽x本地變量比讀對(duì)象變量要快許多。

  比較慢的例子:

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語(yǔ)句,這也可以提高你的程序運(yùn)行速度。

  比較慢的例子:

Myobj.FirstName = "Srinivasa"
Myobj.LastName = "Sivakumar"
Myobj.City = "Chicago"

  比較快的例子:

With Myobj
 .FirstName = "金虎"
 .LastName = "馬"
 .City = "滁州"
End with

  (3).就總體而言,避免使用session變量有助于提高速度,這是因?yàn)椴煌腁SP頁(yè)面分別在不同的線程里面運(yùn)行的,而session調(diào)用卻不是這樣的,他是連續(xù)的。

  3.數(shù)據(jù)庫(kù)問(wèn)題

  設(shè)計(jì)好一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)可以大大提高程序的運(yùn)行速度,當(dāng)然怎么設(shè)計(jì)數(shù)據(jù)庫(kù)結(jié)構(gòu)不是本文討論的問(wèn)題。我們先假設(shè)已經(jīng)設(shè)計(jì)好了數(shù)據(jù)庫(kù)結(jié)構(gòu),看看還能做些什么事情來(lái)提高程序的運(yùn)行速度。

  (1).如果你的數(shù)據(jù)庫(kù)服務(wù)器和WEB服務(wù)器是同一個(gè),那么最好分開(kāi)。這肯定能夠提高速度。

  (2).如果你訪問(wèn)數(shù)據(jù)庫(kù),最好不要使用動(dòng)態(tài)的SQL語(yǔ)句,使用存儲(chǔ)過(guò)程或者視圖。

  (3).有時(shí)分配適當(dāng)?shù)臄?shù)據(jù)庫(kù)buffers會(huì)提高程序的性能。這是因?yàn),假如如果你使用的是Oracle數(shù)據(jù)庫(kù),對(duì)于每個(gè)連接都需要打開(kāi)三個(gè)sessions。如果你能夠處理好這些事情,你將會(huì)提高程序的性能。

  總結(jié)

  其實(shí)影響ASP程序執(zhí)行速度的因素有很多,以上只是一部分。當(dāng)然上面的一些技巧也不一定適合所有的ASP程序,對(duì)待不同的程序要采用不同的策略。最后希望以上的本文能對(duì)您有所幫助。

文章評(píng)論

軟件按字母排列: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z