2009-12-13 90 views
3

我有一個ASP.NET應用程序將運行在Web服務器(Windows Server 2003)中,用於爲我的Intranet用戶提供服務。現在我想監視應用程序的性能:如內存管理,未關閉的數據庫連接等......最終目標是使應用程序工作得到優化。我應該爲此做些什麼?有免費的工具嗎?ASP.NET:監視應用程序性能

回答

6

ASP.NET包含性能計數器,您可以使用​​(Perfmon.exe)跟蹤性能計數器。您可以從管理工具在Windows Server推出這款2003

你可能想看看這些文章可以指導你選擇最合適的性能計數器:

0

我會運行一個類似jetBrains dotTrace或ANTS分析器的分析器。

兩者都可以分析CPU使用情況或內存使用情況。很容易找到高CPU佔用率的方法或大內存使用率的對象。 雖然不是免費的。

2

使用Windows性能計數器可能很難確定需要觀察哪個計數器,然後在短期,中期或長期對其進行分析。

我通常使用日誌性能分析(PAL)工具(非常容易使用!)根據您需要監視的內容(IIS Web應用程序,SharePoint,Exchange等)收集特定和預定義的性能計數器。然後使用PAL嚮導構建好的報告:

http://www.codeplex.com/PAL

試一試,這是非常好的,得到您的網站的一般性能的想法。

當然,如果您需要將您的應用程序查找內存泄漏或任何性能損失裏面掏,你可以嘗試展鵬螞蟻性能分析器:

http://www.red-gate.com/products/ants_performance_profiler/

+0

* http://pal.codeplex.com/* – 2016-06-23 21:27:46

0

除了公認的答案,有時性能計數器和IIS日誌不足以追蹤大型複雜的整體應用程序。在這種情況下,堆棧信息可能會有所幫助。 Perfview可以幫助你,並且它是open source

舉例來說,您想追蹤.NET堆棧信息,並在Web請求超過3秒時停止。這樣,你會在提示

perfview collect -StopOnRequestOverMsec:3000 -ThreadTime -NoNGenRundown -Merge:false -Zip:false -LogFile:perfviewlog.log -CircularMB:512 -DataFile:LongRequest.etl 

運行下面的命令,那麼將利用perfview分析LongRequest.etl文件,並追查有問題的.NET調用。請參閱Microsoft's Channel9