北大青鳥:如何優(yōu)化ASP.NET性能(六)

接上篇文章,由北京北大青鳥學校學術部老師提供:

相關閱讀:如何優(yōu)化ASP.NET性能(五)http://www.120cqnk.cn/Edu/view.asp?newsid=2984

在前幾篇文章中,北大青鳥學術部的老師一共總結了20多種優(yōu)化ASP.NET性能的方法。這篇文章將把最后幾個方法告訴大家。希望這幾天的文章,能夠幫助大家提高技能。

23. 當不使用會話狀態(tài)時禁用它  
并不是所有的應用程序或頁都需要針對于具體用戶的會話狀態(tài),您應該對任何不需要會話狀態(tài)的應用程序或頁禁用會話狀態(tài)。若要禁用頁的會話狀態(tài),請將 @ Page 指令中的 EnableSessionState 屬性設置為false。

注意:如果頁需要訪問會話變量,但不打算創(chuàng)建或修改它們,則將@ Page 指令中的 EnableSessionState 屬性設置為ReadOnly。還可以禁用 XML Web services 方法的會話狀態(tài)。有關更多信息,請參見使用 ASP.NET 和 XML Web services 客戶端創(chuàng)建的 XML Web services。若要禁用應用程序的會話狀態(tài),請在應用程序 Web.config 文件的 sessionstate 配置節(jié)中將 mode 屬性設置為 off。

24. 仔細選擇會話狀態(tài)提供程序  
ASP.NET 為存儲應用程序的會話數(shù)據(jù)提供了三種不同的方法:進程內會話狀態(tài)、作為 Windows 服務的進程外會話狀態(tài)和 SQL Server 數(shù)據(jù)庫中的進程外會話狀態(tài)。每種方法都有自己的優(yōu)點,但進程內會話狀態(tài)是迄今為止速度最快的解決方案。如果只在會話狀態(tài)中存儲少量易失數(shù)據(jù),則建議您使用進程內提供程序。進程外解決方案主要用于跨多個處理器或多個計算機縮放應用程序,或者用于服務器或進程重新啟動時不能丟失數(shù)據(jù)的情況。有關更多信息,請參見 ASP.NET 狀態(tài)管理。 (北京北大青鳥學校)  

25. 不使用不必要的Server Control
ASP.net中,大量的服務器端控件方便了程序開發(fā),但也可能帶來性能的損失,因為用戶每操作一次服務器端控件,就產生一次與服務器端的往返過程。因此,非必要,應當少使用Server Control。   

26. ASP.NET應用程序性能測試  
在對ASP.NET應用程序進行性能測試之前,應確保應用程序沒有錯誤,而且功能正確。具體的性能測試可以采用以下工具進行:Web Application Strees Tool (WAS)是Microsoft發(fā)布的一個免費測試工具,它可以模擬成百上千個用戶同時對web應用程序進行訪問請求,在服務器上形成流量負載,從而達到測試的目的,可以生成平均TTFB、平均TTLB等性能匯總報告。Application Center Test (ACT) 是一個測試工具,附帶于Visual Studio.NET的企業(yè)版中,是Microsoft正式支持的web應用程序測試工具。它能夠直觀地生成圖表結果,功能比WAS多,但不具備多個客戶機同時測試的能力。服務器操作系統(tǒng)管理工具中的性能計數(shù)器,可以對服務器進行監(jiān)測以了解應用程序性能。   

北京北大青鳥學校總結:對于軟件開發(fā)人員而言,在編寫ASP.NET應用程序時注意性能問題,養(yǎng)成良好的習慣,提高應用程序性能,至少可以推遲必需的硬件升級,降低成本。

北大青鳥網(wǎng)上報名
北大青鳥招生簡章