最佳化ASP.NET應用程式效能研究與探討
來源:互聯網
上載者:User
摘 要 本文從頁面、資料訪問、字串操作三方面探討如何提高ASP.NET應用程式的效能,並提供了幾種測試載入器用於檢測ASP.NET網站效能。
關鍵詞 ASP.NET 應用程式 效能 最佳化
網站的效能對於ASP.NET程式開發人員來說非常重要。一個優秀的網站雖然有美觀的頁面設計,完善的服務功能,但是開啟網頁時有長時間的延遲,使用者最終將會無法忍受。尤其對於大型的電子商務網站而言,每秒鐘有數萬使用者同時訪問,沒有良好的網站效能,根本無法滿足龐大的需求。
ASP.NET作為全新一代的動態網頁產生系統,它在平台效能方面與原有的ASP相比已有了一個本質的提高。但要在此基礎上開發出專業水準的、符合生產標準的、受使用者歡迎的web應用程式,還需要開發人員從編程的角度在頁面、資料訪問和字串處理等各方面進行最佳化處理,以提高網站的總體效能。
本文將主要探討在ASP.NET中與此相關的幾種進行效能最佳化的方法及注意問題。
頁面效能最佳化
1、工作階段狀態的恰當選擇
HTTP協議是一種無狀態的通訊協定,無法記錄和識別來自不同用戶端的請求,但在實際應用中系統卻要維護來自用戶端的不同請求之間的工作階段狀態資訊。ASP.NET通過將工作階段狀態資訊儲存在進程、狀態伺服器或SQL Server資料庫中來解決這個問題。
將工作階段狀態資訊儲存在WEB伺服器的記憶體中具有最佳的效能,速度很快,但是卻缺乏工作階段狀態資訊跨越多個伺服器的能力。若要在多個WEB伺服器之間維護會話資訊,可以使用狀態伺服器進行儲存,這種方式由於可以將應用程式部署到多台伺服器上而提高了系統的伸縮性和可靠性,但是以降低效能為代價。對於極其重要的會話資訊,需要使用SQL Server儲存方式,從而避免丟失重要的會話資訊,但由此產生的工作負載比前兩者大得多。
若不考慮狀態資訊的保留和多個伺服器共用,應盡量選擇儲存在伺服器的進程中,從而得到最佳的效能。
工作階段狀態資訊的儲存方式選擇通過web.config檔案: