ASP.NET效能最佳實務

來源:互聯網
上載者:User
根據MSDN webcast 整理

  • 邏輯/實體設計實踐
  • 推薦 : 使用邏輯三層模型
    1. 頁面(.aspx)和使用者控制項(.ascs)
    2. 可重用類型(組件)放在\bin目錄下
    3. 資料放在SQL資料庫中
    推薦 : 為Web Farm設計
    1. 不要假定訪問者永遠會回到同一伺服器
    2. 注意靜態變數和應用狀態
    3. Web Farm工作階段狀態
    推薦 : 用同一個進程
    應避免(可能時):
    1. 對XML Web服務的同步調用
    2. 通過DCOM的遠程調用
    使用XML Web 服務 :
    1. 網際網路上應用之間的通訊
    2. 不要用於應用內通訊
    推薦 : 使用ISA伺服器,當需要DMZ安全域時 :
    1. 只允許通過ISA訪問
    2. ISA隧道通過DMZ到達ASP.NET
    3. 減少進程轉換
  • 語言/代碼建議
    1. 避免使用晚綁定
      1. <%@ Page Language = "VB" Explicit = "true" %>要求聲明所有變數類型,依然允許晚綁定
      2. <%@ Page Language = "VB" strict = "true" %>禁止使用任何晚綁定
  • COM互動建議
    1. 盡量少使用COM,而使用託管的組件
  • 資料建議
    1. 將資料存放區在SQL Server中
    2. 選擇合適的資料訪問方式 : OLEDB/SQL client/ODBC
    3. 合理選擇DataSet和DataReader 進行資料訪問
  • 狀態管理
    1. 選擇合適的方式存放Session : Inproc/StateServer/database
    2. 使用單一資料型別
    3. 避免在Session中儲存STA的COM對象
    4. 如果不需要Session,則禁用它 : EnableSessionState = "false"
    5. 如果可能,可使用readonly特性 : EnableSessionState = "Readonly"
    6. 哪果不需要ViewState則禁用它, EnableViewState = false
    7. 最小化ViewState中的資料
    8. 查看ViewState的大小查看HTML輸出源碼或者啟用Trace
  • 使用緩衝
    1. 頁面緩衝
    2. 部分頁面緩衝
    3. Cache對象
    4. 資料緩衝
    5. WebService緩衝

    量化WEB效能的方法:
    機器吞吐率
    回應時間
    通過給伺服器加負載來測試

  • 使用多台用戶端機器載入
  • 免費Microsoft Web Application Stress
  • 測試多種情境
    1. 類比對網站的端對端情境遍曆
    2. 測試單頁效能
  • 需要計算的數值
    1. 不同負載下的Request/sex(100,250,500,750,1000等同時訪問的客戶)
    2. 辨明在可接受TTFB/TTLB回應時間內的最大客戶負載

    關鍵的效能計數器

  • 處理器,CPU%使用率 || 低數值 = 受陰或者鎖競爭
  • ASP.NET,入列請求數 || 線性增長意味著伺服器已滿負荷
  • ASP.NET應用,每秒請求數||動態輸送量(應當一致)
  • ASP.NET應用,總錯誤數 || 指示功能錯誤(應當是0)
  • ASP.NET應用,背景工作處理序重啟 || 指示嚴重功能錯誤
  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.