ASP 快速執行動態網頁
2024-05-04 10:57:09
供稿:網友
這是一篇關于怎樣精簡代碼和Asp 特征以獲得最快執行速度的詳細文章。對于一個急燥的用戶來說,任何在按下用戶按鈕到結果出現在它們的屏幕之間的延遲可能意味著它們會轉到瀏覽其它的站點?假如你的是商業站點,這有可能意味著失去潛在的銷售。
我們沒有任何辦法控制用戶的帶寬,但我們的確能通過優化Asp 站點來獲得最佳的*能。大部分潛在*能的提升是通過系統改變而不是緊縮代碼,一個不合適的想法是,一旦遇到系統效率問題,就向系統**者提意見要其升級系統。
首先,哪個因素可能影響Asp的*能?很不幸,有很多因素?下面這些只是其中的一部分:
可用帶寬
服務器上的處理器和其它硬件的速度
在服務器上運行的其它程序(比如象那些OpenGL屏幕保護程序!)
數據庫連接模式,連接池,數據庫系統本身(比如Oracle優于Sql Server,Sql server優于Access)
所使用的語言
存儲過程優于行式Sql語句
使用編譯組件而不是VB或JavaScript,好的Asp編程經驗,比如錯誤處理等
一些以上的因素可能已經被有IIS 知識經驗的開發者普遍留意到了,但其它的可能對于他們來說是十分復雜的問題。在這篇文章里, 將試著解釋所有影響Asp*能的每個因素,讓我們看一看那些在我們刮胡子的幾毫秒內就能做到的主要事情。
ASP腳本大小
你是腳本頁(還有其它頁面)是不是比必須的長度要長?這是一開始執行就會降低Asp *能的東西。ASP 腳本在用來獲取信息和格式化輸出的時候是十分有用的,但腳本也是逐行解釋執行,所以你的腳本越長,執行它的時間也就越長。
如果你的腳本很龐大,怎么做才能減少腳本的長度呢?這里有幾點建議:
你可以將它們轉換成服務器端組件,也就是說,做成VB動態鏈接庫DLL或者通過先進的Windows編程語言或適當的COM 接口語言將它轉換成未編譯組件?并且在服務器端注冊它們。有關的快速指南可以在
http://www.webdevelopersjournal.com/articles/activex_for_asp.html找到。對一個寫得好的ActiveX 組件進行編譯不但能大幅度提高*能,還可以保護你的軟件(腳本),尤其當你將你的Asp站點發布在第三方主機上的時候。
因為腳本是逐行解釋執行的,所以剔除多余的腳本或建立更高效率的腳本能夠改進*能。如果你在單個Asp 文件中有數百行的代碼,可能這樣做你能很好地劃分使用者,買賣和數據服務。事實上,如果你這樣做,可能會找出一些冗余的代碼:如果你需要輸出幾個表格,你可以編寫一個通用函數來輸出一個表格,只是多次調用它。
在講述Asp 腳本的大小問題的時候,不得不提及包含文件的大小。當你使用一個包含文件的時候,整個包含文件被裝入,當包含文件被包含的時候,相當于在Asp 文件本身寫下那部分代碼。因此,如果你在一個冗長的包含文件里定義了很多通用的方法和定義,要明白到在你包含該文件的時候,不管你要不要用到里面的每個方法和定義,它都是被整個裝入的。ASP 緩存全部的展開代碼,這會降低查找效率在這種情況下,包含文件必須被分割成更小的,模塊化的文件。也要明白到包含文件被服務器視為單獨的頁面請求,使用太多的包含文件會影響下載時間。