Udostępnij za pośrednictwem


Profilowanie aplikacji produkcyjnych na platformie Azure przy użyciu profilera usługi Application Insights dla platformy .NET

Diagnozowanie problemów z wydajnością aplikacji może być trudne, zwłaszcza w przypadku uruchamiania w środowisku produkcyjnym w chmurze dynamicznej. Powolne odpowiedzi w aplikacji mogą być spowodowane przez infrastrukturę, strukturę lub kod aplikacji obsługujący żądanie w potoku.

Za pomocą profilera usługi Application Insights dla platformy .NET można przechwytywać, identyfikować i wyświetlać ślady wydajności aplikacji działającej na platformie Azure, niezależnie od scenariusza. Proces śledzenia profilera platformy .NET odbywa się automatycznie, na dużą skalę i nie ma negatywnego wpływu na użytkowników. Program .NET Profiler identyfikuje:

  • Średnie, najszybsze i najwolniejsze czasy odpowiedzi dla poszczególnych żądań sieci Web wysyłanych przez klientów.
  • Ścieżka kodu "gorąca" spędza najwięcej czasu na obsłudze określonego żądania internetowego.

Włącz profiler dla platformy .NET we wszystkich aplikacjach platformy Azure, aby zebrać dane przy użyciu następujących wyzwalaczy:

  • Wyzwalacz próbkowania: uruchamia profiler losowo około raz na godzinę przez dwie minuty.
  • Wyzwalacz procesora CPU: uruchamia profilera, gdy procent użycia procesora CPU wynosi ponad 80 procent.
  • Wyzwalacz pamięci: uruchamia profilera, gdy użycie pamięci przekracza 80 procent.

Każdy z tych wyzwalaczy można skonfigurować , włączyć lub wyłączyć.

Częstotliwość próbkowania i obciążenie

Domyślnie profiler aktywnie zbiera ślady co godzinę przez 30 sekund lub w okresach wysokiego użycia procesora CPU lub pamięci przez 30 sekund. Ślady godzinowe (nazywane próbkowaniem) doskonale nadają się do proaktywnego dostrajania, podczas gdy duże ślady procesora CPU i pamięci (nazywane wyzwalaczami) są przydatne do rozwiązywania problemów reaktywnych.

Uwaga

Gdy profiler usługi Application Insights dla platformy .NET aktywnie działa i zbiera ślady, zwykle dodaje między 5% do 15% obciążenia procesora CPU i pamięci na serwerze.

Nie ma dodatkowych kosztów przechowywania danych przechwyconych przez program .NET Profiler. Dane są automatycznie usuwane po upływie 15 dni.

Obsługiwane w profilerze platformy .NET

Profiler współpracuje z aplikacjami platformy .NET wdrożonych w następujących usługach platformy Azure. Wyświetl konkretne instrukcje dotyczące włączania profilera dla każdego typu usługi w poniższych linkach.

Platforma obliczeniowa .NET (>= 4.6) .NET Core
Azure App Service Tak Tak
Maszyny wirtualne platformy Azure i zestawy skalowania maszyn wirtualnych dla systemu Windows Tak Tak
Maszyny wirtualne platformy Azure i zestawy skalowania maszyn wirtualnych dla systemu Linux Nie. Tak
Azure Cloud Services Tak Tak
Usługa Azure Container Instances dla systemu Windows Nie. Tak
Usługa Azure Container Instances dla systemu Linux Nie. Tak
Kubernetes Nie. Tak
Azure Functions Tak Tak
Azure Service Fabric Tak Tak

Uwaga

Możesz również użyć profilera Java dla usługi Azure Monitor Application Insights, obecnie w wersji zapoznawczej.

Jeśli włączono narzędzie Profiler dla platformy .NET, ale nie widzisz śladów, zobacz Przewodnik rozwiązywania problemów.

Ograniczenia

  • Przechowywanie danych: domyślny okres przechowywania danych wynosi pięć dni.
  • Profilowanie aplikacji internetowych:
    • Mimo że można korzystać z programu .NET Profiler bez dodatkowych kosztów, aplikacja internetowa musi być hostowana w warstwie podstawową funkcji Web Apps usługi aplikacja systemu Azure Service, co najmniej.
    • Do każdej aplikacji internetowej można dołączyć tylko jeden profiler.
    • Program .NET Profiler w systemie Linux jest obsługiwany tylko w aplikacjach internetowych opartych na systemie Windows.

Następne kroki

Dowiedz się, jak włączyć program .NET Profiler w usłudze platformy Azure: