Udostępnij za pośrednictwem


Znajomość metod profilowania

Visual Studio Tools profilowania omówiono metody pięciu służy do zbierania danych dotyczących wydajności.W tym temacie opisano różne metody i sugeruje kilka scenariuszy, w których zbierania danych z konkretnej metody może być właściwe.

[!UWAGA]

Ulepszone funkcje zabezpieczeń w systemach Windows 8 i Windows Server 2012 wymagają znaczących zmian w sposobie, w jaki program Profiler środowiska Visual Studio zbiera dane na tych platformach.Aplikacje Windows Store również wymagają nowych technik zbierania.Zobacz Profilowanie aplikacji Windows 8 i Windows Server 2012.

Metoda

Opis

Próbkowanie

Zbiera dane statystyczne dotyczące pracy wykonanej przez aplikację.

Instrumentacja

Gromadzi informacje szczegółowe terminy dotyczące każdego wywołania funkcji.

Współbieżność

Zbiera szczegółowe informacje o aplikacji wielowątkowych.

Pamięć .NET

Zbiera szczegółowe informacje o pamięci .NET alokacji oraz wyrzucania elementów bezużytecznych.

Poziom interakcji

Zbiera informacje dotyczące synchronicznych wywołań funkcji ADO.NET z bazą danych SQL.

Profilowanie interakcji warstwy mogą być gromadzone za pomocą Visual Studio Ultimate, Visual Studio Premium, lub Visual Studio Professional.Jednak dane profilowania interakcji warstwy można oglądać tylko w Visual Studio Premium lub Visual Studio Ultimate.

Za pomocą niektórych metod profilowania, można również zbierać dane dodatkowe, takie jak liczniki wydajności oprogramowania i sprzętu.Aby uzyskać więcej informacji, zobacz Zbieranie dodatkowych danych o wydajności.

Próbkowanie

Profilowanie metoda pobierania próbek zbiera dane statystyczne o pracy, która jest wykonywane przez aplikację podczas uruchomienia profilowania.Metoda pobierania próbek jest lekki i nie wpływa na wykonanie metody aplikacji.

Pobieranie próbek jest domyślna metoda Visual Studio Tools profilowania.Jest to przydatne dla następujących czynności:

  • Początkowe poszukiwań wydajność aplikacji.

  • Bada problemy z wydajnością, które dotyczą wykorzystania procesora (CPU).

Profilowanie metoda pobierania próbek przerwań procesora komputera w ustalonych odstępach czasu i zbiera stos wywołań funkcji.Liczy wyłączne próbki są zwiększane dla funkcji, który jest wykonywany i liczy włącznie są zwiększane wszystkie wywołania funkcji na stos wywołań.Raporty pobierania próbek przedstawia łączne wartości tych liczników dla modułu PROFILOWANEGO, funkcja, wiersz kodu źródłowego i instrukcji.

Domyślnie profiler ustawia interwał próbkowania cykli Procesora.Typ interwału można zmienić na inny licznika wydajności Procesora i można ustawić liczbę zdarzenia liczników dla interwału.Można również zbierać poziomu interakcji profiling(TIP) danych, które zawiera informacje o kwerendach, które są wprowadzone do bazy danych programu SQL server za pośrednictwem ADO.NET.

Zbieranie statystyk wydajności za pomocą metody pobierania próbek

Zapoznanie z wartościami danych próbkowania w narzędziach profilowania

Widok danych metody próbkowania profilera

Instrumentacja

Oprzyrządowanie profilowania metoda zbiera szczegółowe terminy dla wywołań funkcji w aplikacji PROFILOWANEGO.Profilowanie Instrumentacji jest przydatna dla następujących elementów:

  • Badanie wąskich gardeł wejścia/wyjścia, takich jak We/Wy dysku.

  • Dokładne zbadanie danego modułu lub zestaw funkcji.

Metoda Instrumentacji wstrzykuje kod do pliku binarnego, który przechwytuje informacje chronometraż dla każdej funkcji w pliku oprzyrządowanego i każde wywołanie funkcji wykonanej za pomocą tych funkcji.Oprzyrządowanie identyfikuje również gdy wywołuje funkcję do działania przez operacje, takie jak zapisywanie do pliku.Oprzyrządowanie raportów umożliwia cztery wartości reprezentują całkowitym czasem spędzonym w funkcji lub źródła wiersza kodu:

  • Upłynięte Inclusive - całkowity czas spędzony wykonywania funkcji lub źródła wiersza.

  • Aplikacja Inclusive - czas spędzony wykonywania funkcji lub źródła wiersza, ale z wyłączeniem czas spędzony w wywołaniach do systemu operacyjnego.

  • Upłynięte Exclusive - czas spędzony wykonywanie kodu w treści funkcji lub źródła wiersza kodu.Czas spędzony wykonywanie funkcji, które są wywoływane przez funkcję lub źródła wiersza jest wyłączone.

  • Exclusive aplikacji - czas spędzony wykonywanie kodu w treści funkcji lub źródła wiersza kodu.Czas spędzony wywołań wykonywanych w celu system operacyjny i czas spędzony wykonywanie funkcji, które są wywoływane przez funkcję lub źródła wiersza jest wyłączone.

Możliwe jest również zbieranie liczników wydajności zarówno Procesor, jak i oprogramowanie przy użyciu metody instrumentacji.

Zapoznanie z wartościami danych instrumentacji w narzędziach profilowania

Zbieranie szczegółowych danych o chronometrażu przy użyciu instrumentacji

Widok danych metody instrumentacji profilera

Współbieżność

Profilowanie współbieżność zbiera informacje o aplikacji wielowątkowych.Spór o zasoby profilowania zbiera informacje stosu wywołań szczegółowe każdorazowo tego konkurencyjnych wątki są zmuszeni do odczekania dostępu do zasobu udostępnionego.Współbieżność wizualizacji zbiera również więcej ogólnych informacji na temat współdziałania aplikacji wielowątkowych z samego, sprzętu, systemu operacyjnego i innych procesów na komputerze-hoście:

  • Raporty rywalizacji zasobów zawierają całkowita liczba twierdzeń i całkowity czas oczekiwania zasobu dla modułów, funkcje, wiersze kodu źródłowego i instrukcje, w których wystąpił podczas oczekiwania.Oś czasu wykresy pokazują również twierdzeń, jak ich wystąpienia.

  • Współbieżność wizualizacji wyświetla informacji graficznych, który służy do lokalizowania wąskie gardła wydajności, Procesora underutilization, wątek rywalizacji, migracji wątek, opóźnienia synchronizacji, obszary nakładające się we/wy i inne informacje.Jeśli to możliwe, produkcja graficzny łączy wywołanie stosu i źródła kodu danych.Współbieżność wizualizacji danych mogą zostać pobrane tylko do wiersza polecenia i aplikacji systemu Windows.

Zapoznanie z wartościami danych kontencji zasobów w narzędziach profilowania

Zbieranie danych współbieżności dla wątku i procesu

Widok danych kontencji zasobów

Concurrency Visualizer

Pamięć .NET

Metoda profilowania alokacji pamięci .NET przerywa procesora komputera w każdej alokacji obiektu.NET Framework w PROFILOWANEGO aplikacji.Gdy również zebrane dane okres istnienia obiektu profiler przerwanie po każdym.NET Framework wyrzucania elementów bezużytecznych.

Profiler zbieranie informacji dotyczących typu, rozmiaru i liczby obiektów, które zostały utworzone w alokacji lub zostały zniszczone w kolekcji garbage.

  • Gdy wystąpi zdarzenie alokacji, profiler zbiera dodatkowe informacje stosu wywołań funkcji.Liczy wyłącznego przeznaczenia są zwiększane dla funkcji, która jest w trakcie wykonywania i liczy włącznie są zwiększane dla wszystkie wywołania funkcji na stos wywołań. Raporty .NET przedstawia łączne wartości tych liczników dla typów PROFILOWANEGO, moduły, funkcje, wiersze kodu źródłowego i instrukcje.

  • W przypadku wystąpienia kolekcji garbage profiler zbiera dane dotyczące obiektów, które zostały zniszczone i informacje o obiektach każde pokolenie kolekcji garbage.Na końcu profilowania uruchomić profiler zapisuje dane dotyczące obiektów, które nie zostały jawnie zniszczone.Okres istnienia obiektu raportu są wyświetlane sumy dla każdego typu, która została przydzielona w procesie profilowania.

Profilowanie pamięci .NET można w trybie pobierania próbek lub Instrumentacji.Tryb, w którym można wybrać nie wpływa na przydział i okres istnienia obiektu zgłasza, że są unikatowe to.NET profilowania pamięci:

  • Po uruchomieniu pamięci .NET profilowania w trybie pobierania próbek profiler.NET używa zdarzenia alokacji pamięci jako przedział i wyświetla liczbę obiektów, które zostały przydzielone i całkowita liczba bajtów, które zostały przydzielone jako wartości włącznie i wyłączności w raportach.

  • Po uruchomieniu pamięci .NET profilowania w trybie instrumentacji, zbierane są informacje szczegółowe terminy razem z wartościami włącznie i wyłącznego przydziału.

Zapoznanie z alokacją pamięci i wartościami danych o okresie istnienia obiektu w narzędziach Profiling Tools

Zbieranie alokacji pamięci .NET i okres istnienia obiektu

Widoki danych pamięci profilera .NET

Poziom interakcji

Profilowanie warstwy interakcje dodaje informacje do profilowania pliku danych o synchroniczne ADO.NET wywołuje między ASP.NET strony lub innych aplikacji i SQL Server bazy danych.Dane obejmują numer i czas rozmowy i czas maksymalny i minimalny.Poziom interakcji danych można dodać do profilowania danych zebranych z pobierania próbek, Instrumentacji, .NET pamięci lub metody współbieżności.

Poziom interakcji danych zebranych przez narzędzia profilowania

Dane profilowania interakcji warstwy

Zbieranie danych o interakcji między warstwami przy użyciu programu Visual Studio IDE

Widok interakcji warstwowej

Zobacz też

Zadania

Porady: profilowanie witryny sieci Web lub aplikacja sieci Web za pomocą kreatora osiągów

Koncepcje

Profilowanie wydajności — Przewodnik dla początkujących