程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> ASP.NET性能最佳實踐

ASP.NET性能最佳實踐

編輯:.NET實例教程

根據MSDN webcast 整理 
邏輯/物理設計實踐
推薦 : 使用邏輯三層模型 
頁面(.ASPx)和用戶控件(.ascs) 
可重用類型(組件)放在\bin目錄下 
數據放在SQL數據庫中 
推薦 : 為Web Farm設計 
不要假定訪問者永遠會回到同一服務器 
注意靜態變量和應用狀態 
Web Farm會話狀態 
推薦 : 用同一個進程 
應避免(可能時): 
對XML Web服務的同步調用 
通過DCOM的遠程調用 
使用XML Web 服務 : 
因特網上應用之間的通訊 
不要用於應用內通訊 
推薦 : 使用ISA服務器,當需要DMZ安全域時 : 
只允許通過ISA訪問 
ISA隧道通過DMZ到達ASP.Net 
減少進程轉換 
語言/代碼建議 
避免使用晚綁定 
<%@ Page Language = "VB" Explicit = "true" %>要求聲明所有變量類型,依然允許晚綁定 
<%@ Page Language = "VB" strict = "true" %>禁止使用任何晚綁定 
COM交互建議 
盡量少使用COM,而使用托管的組件 
數據建議 
將數據存儲在SQL Server中 
選擇合適的數據訪問方式 : OLEDB/SQL clIEnt/ODBC 
合理選擇DataSet和DataReader 進行數據訪問 
狀態管理 
選擇合適的方式存放Session : Inproc/StateServer/database 
使用簡單數據類型 
避免在Session中保存STA的COM對象 
如果不需要Session,則禁用它 : EnableSessionState = "false" 
如果可能,可使用readonly特性 : EnableSessionState = "Readonly" 
哪果不需要ViewState則禁用它, EnableVIEwState = false 
最小化VIEwState中的數據 
查看VIEwState的大小查看Html輸出源碼或者啟用Trace 
使用緩存 
頁面緩存 
部分頁面緩存 
Cache對象 
數據緩存 
WebService緩存 
量化WEB性能的方法: 機器吞吐率響應時間通過給服務器加負載來測試 
使用多台客戶端機器加載 
免費Microsoft Web Application Stress 
測試多種場景 
模擬對站點的端對端場景遍歷 
測試單頁性能 
需要計算的數值 
不同負載下的Request/sex(100,250,500,750,1000等同時訪問的客戶) 
辨明在可接受TTFB/TTLB響應時間內的最大客戶負載 
關鍵的性能計數器 
處理器,CPU%使用率 || 低數值 = 受陰或者鎖競爭 
ASP.Net,入列請求數 || 線性增長意味著服務器已滿負荷 
ASP.Net應用,每秒請求數||動態吞吐量(應當一致) 
ASP.Net應用,總錯誤數 || 指示功能錯誤(應當是0) 
ASP.Net應用,工作進程重啟 || 指示嚴重功能錯誤
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved