接上篇文章,由北京北大青鳥學(xué)校學(xué)術(shù)部老師提供:
相關(guān)閱讀:如何優(yōu)化ASP.NET性能(五)http://m.wonderbee.com.cn/Edu/view.asp?newsid=2984
在前幾篇文章中,北大青鳥學(xué)術(shù)部的老師一共總結(jié)了20多種優(yōu)化ASP.NET性能的方法。這篇文章將把最后幾個方法告訴大家。希望這幾天的文章,能夠幫助大家提高技能。
23. 當(dāng)不使用會話狀態(tài)時禁用它
并不是所有的應(yīng)用程序或頁都需要針對于具體用戶的會話狀態(tài),您應(yīng)該對任何不需要會話狀態(tài)的應(yīng)用程序或頁禁用會話狀態(tài)。若要禁用頁的會話狀態(tài),請將 @ Page 指令中的 EnableSessionState 屬性設(shè)置為false。
注意:如果頁需要訪問會話變量,但不打算創(chuàng)建或修改它們,則將@ Page 指令中的 EnableSessionState 屬性設(shè)置為ReadOnly。還可以禁用 XML Web services 方法的會話狀態(tài)。有關(guān)更多信息,請參見使用 ASP.NET 和 XML Web services 客戶端創(chuàng)建的 XML Web services。若要禁用應(yīng)用程序的會話狀態(tài),請在應(yīng)用程序 Web.config 文件的 sessionstate 配置節(jié)中將 mode 屬性設(shè)置為 off。
24. 仔細(xì)選擇會話狀態(tài)提供程序
ASP.NET 為存儲應(yīng)用程序的會話數(shù)據(jù)提供了三種不同的方法:進(jìn)程內(nèi)會話狀態(tài)、作為 Windows 服務(wù)的進(jìn)程外會話狀態(tài)和 SQL Server 數(shù)據(jù)庫中的進(jìn)程外會話狀態(tài)。每種方法都有自己的優(yōu)點(diǎn),但進(jìn)程內(nèi)會話狀態(tài)是迄今為止速度最快的解決方案。如果只在會話狀態(tài)中存儲少量易失數(shù)據(jù),則建議您使用進(jìn)程內(nèi)提供程序。進(jìn)程外解決方案主要用于跨多個處理器或多個計算機(jī)縮放應(yīng)用程序,或者用于服務(wù)器或進(jìn)程重新啟動時不能丟失數(shù)據(jù)的情況。有關(guān)更多信息,請參見 ASP.NET 狀態(tài)管理。 (北京北大青鳥學(xué)校)
25. 不使用不必要的Server Control
ASP.net中,大量的服務(wù)器端控件方便了程序開發(fā),但也可能帶來性能的損失,因?yàn)橛脩裘坎僮饕淮畏⻊?wù)器端控件,就產(chǎn)生一次與服務(wù)器端的往返過程。因此,非必要,應(yīng)當(dāng)少使用Server Control。
26. ASP.NET應(yīng)用程序性能測試
在對ASP.NET應(yīng)用程序進(jìn)行性能測試之前,應(yīng)確保應(yīng)用程序沒有錯誤,而且功能正確。具體的性能測試可以采用以下工具進(jìn)行:Web Application Strees Tool (WAS)是Microsoft發(fā)布的一個免費(fèi)測試工具,它可以模擬成百上千個用戶同時對web應(yīng)用程序進(jìn)行訪問請求,在服務(wù)器上形成流量負(fù)載,從而達(dá)到測試的目的,可以生成平均TTFB、平均TTLB等性能匯總報告。Application Center Test (ACT) 是一個測試工具,附帶于Visual Studio.NET的企業(yè)版中,是Microsoft正式支持的web應(yīng)用程序測試工具。它能夠直觀地生成圖表結(jié)果,功能比WAS多,但不具備多個客戶機(jī)同時測試的能力。服務(wù)器操作系統(tǒng)管理工具中的性能計數(shù)器,可以對服務(wù)器進(jìn)行監(jiān)測以了解應(yīng)用程序性能。
北京北大青鳥學(xué)?偨Y(jié):對于軟件開發(fā)人員而言,在編寫ASP.NET應(yīng)用程序時注意性能問題,養(yǎng)成良好的習(xí)慣,提高應(yīng)用程序性能,至少可以推遲必需的硬件升級,降低成本。