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
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.
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
Zbieranie danych o interakcji między warstwami przy użyciu programu Visual Studio IDE
Zobacz też
Zadania
Porady: profilowanie witryny sieci Web lub aplikacja sieci Web za pomocą kreatora osiągów