執行階段分析
分析是在任何開發或部署案例中收集效能資料的一種方法。 這個章節的是針對想要收集應用程式效能相關資訊的開發人員和系統管理員。
使用效能監視器 (Perfmon.exe) 追蹤效能
效能監視器 (在 Windows Vista 和 Windows 7 中為可靠性和效能監視器) 是用來分析 .NET Framework 應用程式的最簡單工具。 [效能監視器] 會以圖形方式表示在 .NET Framework 效能計數器 (隨 Common Language Runtime 和 Windows Software Development Kit (SDK) 一起安裝) 中找到的資料。 這些計數器可用於監視從記憶體管理至 Just-in-Time (JIT) 編譯器 (Compiler) 效能的一切內容。 計數器會告訴您應用程式使用的資源,這是間接測量應用程式效能的方法。 使用這些計數器了解應用程式內部運作的方式。
若要在 Windows XP 上執行 Perfmon.exe
在命令提示字元中輸入 perfmon。 效能主控台會出現。
在工具列中,按一下 [加入] 圖示 (加號) (如果有的話)。 如果不存在的話,以滑鼠右鍵按一下監視器視窗內,然後選取 [加入計數器] 選項。
這樣會開啟 [新增計數器] 對話方塊,以顯示可用的效能物件和計數器。 .NET Framework 應用程式有許多預先定義的物件可使用,包括用於記憶體管理 ([.NET CLR Memory])、互通性 ([.NET CLR Interop])、例外狀況處理 ([.NET CLR Exceptions]) 及多執行緒 ([.NET CLR LocksAndThreads]) 的物件。 每個 .NET Framework 效能物件都包含幾個個別的效能計數器。
在 [效能物件] 清單中,按一下您要檢視的效能物件。
在計數器清單中,按一下您要檢視的效能計數器。
按一下 [所有執行個體] 指定您要在全域 (也就是針對整個系統) 監視 Common Language Runtime 的效能計數器。
-或-
按一下 [從清單選取執行個體],並按一下要監視該應用程式之效能計數器的應用程式。
若要區別多個版本的執行階段,或要使多個相同名稱的應用程式意義清楚,您也必須修改登錄機碼。 如需詳細資訊,請參閱效能計數器與同處理序並存應用程式。
若要在上 Windows Vista 和 Windows 7 上執行 Perfmon.exe
在命令提示字元中輸入 perfmon。 [可靠性和效能監視器] 主控台 (Windows Vista) 或 [效能監視器] 主控台 (Windows7) 隨即出現。
在 [監視工具] 資料夾中,按一下 [效能監視器]。
在 [效能監視器] 工具列中,按一下 [加入] 圖示 (加號) (如果有的話)。 如果不存在的話,以滑鼠右鍵按一下監視器視窗內,然後選取 [加入計數器] 選項。
這樣便會開啟 [加入計數器] 對話方塊。 [可用計數器] 清單方塊會顯示可用的效能物件。 .NET Framework 應用程式有許多預先定義的物件可使用,包括用於記憶體管理 ([.NET CLR Memory])、互通性 ([.NET CLR Interop])、例外狀況處理 ([.NET CLR Exceptions]) 及多執行緒 ([.NET CLR LocksAndThreads]) 的物件。 每個效能物件都包含幾個個別的效能計數器。
選取效能物件旁邊的核取方塊,以檢視其所支援之個別效能計數器的清單。
按一下您要檢視的效能計數器。
在 [所選取物件的例項:] 清單方塊中,按一下 [<所有例項>] 指定您要在全域 (也就是針對整個系統) 監視之 Common Language Runtime 的效能計數器。
-或-
在 [所選取物件的例項] 清單方塊中,按一下應用程式名稱以監視該應用程式的效能計數器。
若要區別多個版本的執行階段,或要使多個相同名稱的應用程式意義清楚,您也必須修改登錄機碼。 如需詳細資訊,請參閱效能計數器與同處理序並存應用程式。
注意事項 |
---|
若要在效能主控台執行時安裝新的效能計數器,請停止效能主控台再將它重新啟動,使新的計數器出現。 |
如果要分析位於區域中或遠端共用上的組件,請確定遠端組件在執行效能計數器的電腦上是完全信任。 如果組件沒有足夠的信任,效能計數器不會工作。 如需授與信任給不同區域的詳細資訊,請參閱Caspol.exe (程式碼存取安全性原則工具)。
注意事項 |
---|
在已安裝 .NET Framework 4 的系統上,效能監視器可能無法為使用 .NET Framework 1.1 所開發的應用程式顯示某些分類中 (例如 [.NET CLR 資料] 和 [.NET CLR 網路]) 的效能計數器資料。如果出現這種情況,只要將 <forcePerformanceCounterUniqueSharedMemoryReads> 項目加入至應用程式的組態檔案,就可以設定效能監視器來顯示此資料。 |
利用程式設計方式讀取和建立效能計數器
您可使用 .NET Framework 提供的類別,以程式的方式存取可在效能主控台中使用的相同效能資訊, 也可使用這些類別建立自訂的效能計數器。 下表描述的是 .NET Framework 中提供的一些效能監視類別。
類別 |
描述 |
---|---|
表示 Windows NT 效能計數器元件。 使用這個類別讀取現有預先定義或自訂的計數器,並且發行 (寫入) 效能資料至自訂計數器。 |
|
提供與電腦上計數器和計數器類別互動的許多方法。 |
|
指定 PerformanceCounter 元件的安裝程式。 |
|
指定計算 PerformanceCounter 之 NextValue 方法的公式。 |