改善程序效能是一件很微妙的事情。尤其是和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程序,對待不同的程序要採取不同的策略。最後希望以上的本文能對您有幫助。