這些大都是與硬件相關。其實在軟件上,好的程序設計的方法和正確的參數(shù)配置也可以提高程序的性能,有時 在同等情況下只要改變一個參數(shù),程序執(zhí)行效率就能大大提高。本文就試著在這方面做些探索。
一.影響性能的因素
ASP程序運行的性能主要決定于以下2個大方面:
1.HTML頁面的執(zhí)行效率
2.反應時間,其中反應時間主要受制于下面要素:
(1).ASP頁面的執(zhí)行效率
(2).數(shù)據(jù)庫因素
下面我們就來詳細討論一下。
二.詳細討論
1.影響HTML的因素
HTML頁面的執(zhí)行效率是一個純客戶端的問題。影響這個問題的因素主要是客戶端的硬件和他的網(wǎng)絡帶寬。除此之外,還有些下列因素也可以影響HTML頁面的執(zhí)行效率。
(1).圖象因素。在HTML的頁面盡量避免使用圖象。這是因為當瀏覽器請求一個頁面時,如果頁面包含N個圖象,這將使的瀏覽器要向WEB服務器請求N次調(diào)用。而這種請求會降低頁面的加載進程。進而影響速度。
(2).框架問題。在網(wǎng)頁里面使用框架同樣也會降低頁面的加載進程,和圖象因素相似,加載一個N個框架也需要請求N次。
(3).表格問題,盡量避免使用表格,尤其是盡量避免使用多重表格,繁雜的表格會影響HTML的執(zhí)行效率。
(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).盡量把對象變量轉(zhuǎn)換成本地變量,因為讀本地變量比讀對象變量要快許多。
比較慢的例子:
復制代碼 代碼如下:
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調(diào)用卻不是這樣的,他是連續(xù)的。
3.數(shù)據(jù)庫問題
設計好一個數(shù)據(jù)庫結(jié)構(gòu)可以大大提高程序的運行速度,當然怎么設計數(shù)據(jù)庫結(jié)構(gòu)不是本文討論的問題。我們先假設已經(jīng)設計好了數(shù)據(jù)庫結(jié)構(gòu),看看還能做些什么事情來提高程序的運行速度。
(1).如果你的數(shù)據(jù)庫服務器和WEB服務器是同一個,那么最好分開。這肯定能夠提高速度。
(2).如果你訪問數(shù)據(jù)庫,最好不要使用動態(tài)的SQL語句,使用存儲過程或者視圖。
(3).有時分配適當?shù)臄?shù)據(jù)庫buffers會提高程序的性能。這是因為,假如如果你使用的是Oracle數(shù)據(jù)庫,對于每個連接都需要打開三個sessions。如果你能夠處理好這些事情,你將會提高程序的性能。
總結(jié)
其實影響ASP程序執(zhí)行速度的因素有很多,以上只是一部分。當然上面的一些技巧也不一定適合所有的ASP程序,對待不同的程序要采用不同的策略。最后希望以上的本文能對您有所幫助。
您可能感興趣的文章:- PHP 函數(shù)執(zhí)行效率的小比較
- i++循環(huán)與i-–循環(huán)的執(zhí)行效率(遞增與遞減效率)
- 優(yōu)化innerHTML操作(提高代碼執(zhí)行效率)
- 根據(jù)mysql慢日志監(jiān)控SQL語句執(zhí)行效率
- JavaScript執(zhí)行效率與性能提升方案
- 查詢mysql中執(zhí)行效率低的sql語句的方法
- Oracle提高sql執(zhí)行效率的心得建議
- 分享50個提高PHP執(zhí)行效率的技巧