這些大都是與硬件相關(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>
<P><font face="Verdana" size="4"><br></font></P>
<P><font face="Verdana" size="4"><br></font></P>
<P><font face="Verdana" size="4"><br></font></P>
</Body>
你可以去掉 <font>標(biāo)記符,如下:
<Body>
<font face="Verdana" size="4">
<P><br></P>
<P><br></P>
<P><br></P>
<font>
</Body>
(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語句,使用存儲(chǔ)過程或者視圖。
(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程序,對待不同的程序要采用不同的策略。最后希望以上的本文能對您有所幫助。
該文章在 2022/6/21 17:39:22 編輯過