當(dāng)前位置: 首頁IT技術(shù) → 提高ASP頁面的執(zhí)行效率的小技巧

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

更多

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

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

  一.影響性能的因素

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

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

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

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

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

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

  二.詳細(xì)討論

  1.影響HTML的因素

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

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

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

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

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

<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).避免使用長文件名,并且在頁面里盡量使用相對路徑訪問其他文件。

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

  2.影響ASP的要素

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

  比較慢的例子:

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ùn)行速度。

  比較慢的例子:

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

  比較快的例子:

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

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

  3.數(shù)據(jù)庫問題

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

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

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

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

  總結(jié)

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

熱門評論
最新評論
發(fā)表評論 查看所有評論(0)
昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)