如何寫出優秀的ASP應用 (2)
來源:互聯網
上載者:User
組件
. 效能
. 伸縮性
. 分離商務邏輯和頁面表現
. 被ASP或其他環境重用
. 交易處理
. 型別安全
. 存取作業系統特性
. 保護智慧財產權
. 在下列情況下使用Server.CreateObject:
. MTS交易處理
. 上下文安全性
. ASP內部組件
. OnStartPage、OnEndPage
. 使用<Object RunAt=server>延遲物件初始化
. 是否儲存到Session或者Application變數中
效能
. Response緩衝:Response.Buffer=True
. 關閉Connection並:set Connection=Nothing
. 使用局部變數
. 用<Object >代替Server.CreateObject
. 不要使用Session和Application變數
. 不要將COMObject Storage Service在Session或者Application變數中
. 關閉指令碼調試
. 避免重複的字串相加
. 在費時的頁面頂端使用Response.IsClientConnected
. 使用MSMQ
. 不要在Session或者Application中儲存大數組
. 不要ReDim 數組
. 將集合類型的對象賦給臨時變數
. 減小微處理器的最大線程數(運行regedt32,在HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\w3SVC\ASP\Parameters,增加ProcessorThreadMax,減小這個值,看看效能的變化;或者增大這個值。)
. 設定AspScriptEngineCacheMax,使它等於ProcessorThreadMax*CPU個數。預設的是30;(在系統路徑下:\system32\inetsrv/adminisamples下,鍵入adsutil.vbs,設定/w3svc/AspScriptEngineCacheMax);
. 減少Session.Timeout;
. 在MMC中,設定ASP應用程式緩衝為有效。
把某些工作交給用戶端:
. CSS、DHTML
. XML
. RDS
. Remote Scripting
. Xmlhttp
. 用戶端驗證
. 減小檔案大小
. 儘可能避免https和SSL
. 使用Response.End測試效能
資料庫
. 減少資料庫存取訪問;
. 緩衝變換後的結果;
. 使用ODBC串連池和OLEDB資源集區;
. 使用系統DSN或者非DSN,不要使用DSN或者檔案DSN;
. 使ADO運行在雙線程模式(Both-threaded):makefre.bat;
. 使用ADO的Field對象;
. GetString或者GetRows比較快;
. RDS和XML把負載嫁到用戶端;
. 不要使用Select *,把欄位寫出來;
. 盡量使用SQ. Server 7,不要使用Access;
. 使用SQ. Server的特性:預存程序、Job、Join、sort、group
. 使用SQ. Analysis,最佳化SQL的效能
. 使用索引
. 本地使用Name-pipes,遠程使用Sockets
. 準確地指定Command Type
IIS 5的新特性
. 可靠的重新啟動
. ASP效能提高
. Server.Transfer比Server.Redirect更好
. Server.Execute
. Server.GetLastError