Narzędzia diagnostyczne dotyczące wydajności

Autor: Mike Rousos

W tym artykule wymieniono narzędzia do diagnozowania problemów z wydajnością w programie ASP.NET Core.

Narzędzia diagnostyczne programu Visual Studio

Narzędzia profilowania i diagnostyki wbudowane w program Visual Studio to dobre miejsce do rozpoczęcia badania problemów z wydajnością. Te narzędzia są zaawansowane i wygodne w użyciu z poziomu środowiska programistycznego Visual Studio. Narzędzie umożliwia analizę użycia procesora CPU, użycia pamięci i zdarzeń wydajności w aplikacjach ASP.NET Core. Wbudowana funkcja ułatwia profilowanie w czasie programowania.

Więcej informacji można znaleźć w dokumentacji programu Visual Studio.

Szczegółowe dane dotyczące aplikacji

Aplikacja Szczegółowe informacje zapewnia szczegółowe dane dotyczące wydajności aplikacji. Aplikacja Szczegółowe informacje automatycznie zbiera dane dotyczące współczynników odpowiedzi, współczynników awarii, czasów odpowiedzi zależności i nie tylko. Aplikacja Szczegółowe informacje obsługuje rejestrowanie zdarzeń niestandardowych i metryk specyficznych dla aplikacji.

aplikacja systemu Azure Szczegółowe informacje udostępnia wiele sposobów uzyskiwania szczegółowych informacji na temat monitorowanych aplikacji:

  • Mapa aplikacji — pomaga wykrywać wąskie gardła wydajności lub punkty aktywne awarii we wszystkich składnikach aplikacji rozproszonych.

  • Eksplorator metryk platformy Azure to składnik witryny Microsoft Azure Portal, który umożliwia kreślenie wykresów, wizualne korelowanie trendów oraz badanie skoków i spadków wartości metryk.

  • Blok Wydajność w portalu Szczegółowe informacje aplikacji:

    • Przedstawia szczegóły wydajności dla różnych operacji w monitorowanej aplikacji.
    • Umożliwia przechodzenie do szczegółów pojedynczej operacji w celu sprawdzenia wszystkich części/zależności, które przyczyniają się do długiego czasu trwania.
    • Profiler można wywołać z tego miejsca, aby zbierać ślady wydajności na żądanie.
  • aplikacja systemu Azure Szczegółowe informacje Profiler umożliwia regularne i na żądanie profilowanie aplikacji .NET. W witrynie Azure Portal są wyświetlane przechwycone ślady wydajności z stosami wywołań i ścieżkami gorącymi. Pliki śledzenia można również pobrać w celu dokładniejszej analizy przy użyciu narzędzia PerfView.

Szczegółowe informacje aplikacji można używać w różnych środowiskach:

  • Zoptymalizowane pod kątem pracy na platformie Azure.
  • Pracuje w środowisku produkcyjnym, programistycznym i przejściowym.
  • Działa lokalnie z programu Visual Studio lub w innych środowiskach hostingu.

Aby uzyskać więcej informacji na temat monitorowania opartego na kodzie, zobacz Application Szczegółowe informacje for ASP.NET Core. Aby uzyskać więcej informacji na temat monitorowania bez kodu, zobacz Monitorowanie wydajności usługi aplikacja systemu Azure.

Narzędzie PerfView

Narzędzie PerfView to narzędzie do analizy wydajności utworzone przez zespół platformy .NET specjalnie do diagnozowania problemów z wydajnością platformy .NET. Funkcja PerfView umożliwia analizę użycia procesora CPU, zachowania pamięci i pamięci, zdarzeń wydajności i zegara ściany.

Aby uzyskać więcej informacji na temat narzędzia PerfView, zobacz przewodnik użytkownika dostępny w narzędziu lub w witrynie GitHub.

Windows Performance Toolkit

Zestaw narzędzi Windows Performance Toolkit (WPT) składa się z dwóch składników: Windows Performance Recorder (WPR) i Windows Analizator wydajności (WPA). Narzędzia tworzą szczegółowe profile wydajności systemów operacyjnych i aplikacji systemu Windows. Biblioteka WPT ma bogatsze sposoby wizualizowania danych, ale ich zbieranie danych jest mniej wydajne niż narzędzie PerfView.

PerfCollect

Chociaż narzędzie PerfView jest przydatnym narzędziem do analizy wydajności dla scenariuszy platformy .NET, działa tylko w systemie Windows, więc nie można go używać do zbierania śladów z aplikacji platformy ASP.NET Core działających w środowiskach systemu Linux.

PerfCollect to skrypt powłoki bash, który używa natywnych narzędzi profilowania systemu Linux (Perf i LTTng) do zbierania śladów w systemie Linux, które mogą być analizowane przez narzędzie PerfView. Narzędzie PerfCollect jest przydatne, gdy problemy z wydajnością pojawiają się w środowiskach systemu Linux, w których narzędzie PerfView nie może być używane bezpośrednio. Zamiast tego narzędzie PerfCollect może zbierać ślady z aplikacji platformy .NET Core, które są następnie analizowane na komputerze z systemem Windows przy użyciu narzędzia PerfView.

Więcej informacji na temat sposobu instalowania i rozpoczynania pracy z aplikacją PerfCollect jest dostępne w witrynie GitHub.

Inne narzędzia do wydajności innych firm

Poniżej wymieniono niektóre narzędzia do wydajności innych firm, które są przydatne w badaniu wydajności aplikacji platformy .NET Core.