Share via


了解分析工具效能收集方法

本文件概述 Visual Studio 效能分析工具內的工具利用的資料收集方法。

取樣

取樣會收集應用程式在分析期間執行之工作的統計資料,這是一個很好的起點,可以找出加快應用程式速度的區域。 依指定的間隔,[取樣] 方法會收集在應用程式中執行函式的詳細資訊。 資料收集是透過定期收集應用程式的資訊或取樣頻率來完成,例如每毫秒。 收集的資料會進行分析,以建立應用程式中花費時間的模型。 如果您需要正確測量呼叫時間,或第一次尋找應用程式中的效能問題,則您可能想要使用取樣。

取樣對於呼叫數目的正確性較低,但對分析工具的成本較低,而且對所分析的應用程式執行幾乎沒有影響。 使用取樣方法之效能分析工具中的工具包括 CPU 使用量工具。

完成資料收集之後,CPU 使用量工具會分析擷取的資料並顯示報告。

追蹤

追蹤提供有關方法執行頻率的更佳資訊。 如果您需要正確的呼叫號碼量值,請使用追蹤。 追蹤在收集期間可能會對程式碼的效能產生較大影響,但取樣只有少量的額外負荷。 此外,追蹤的分析可能會比較慢,因為收集之後,檢視資料需要較長的時間。

測試設備

檢測分析會收集應用程式在執行分析期間所執行工作的相關資料。 資料收集是透過將程式碼插入二進位檔案的工具來完成,以擷取計時資訊,或使用回呼攔截在應用程式執行時,收集並發出確切的計時和呼叫計數資訊。 相較於以取樣為基礎的方法,檢測方法的額外負荷很高。 使用檢測之效能分析工具中的工具包括檢測工具和 .NET 物件配置工具。

取樣與檢測

取樣的值其額外負荷較小,因此更有可能以統計方式代表在實際執行環境中執行的應用程式。 檢測分析的值是您可以取得呼叫函式次數的確切呼叫計數。 這可提供比一般取樣更詳細的資訊,其可能會扭曲某些案例所花費的時間。 例如,不會執行太多動作,但經常呼叫的函式將會比在真實世界案例中顯示更多。

透過檢測,您的應用程式中選取的每個函式呼叫都會加上附註和檢測,以便在叫用時,將其新增至追蹤,以及呼叫端的相關資訊。 透過取樣,目前執行的呼叫堆疊會每隔一段時間會從 CPU 輪詢,然後將每個框架新增至追蹤。