Profilowanie aplikacji produkcyjnych na platformie Azure przy użyciu programu Profiler usługi Application Insights

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ą usługi Application Szczegółowe informacje Profiler można przechwytywać, identyfikować i wyświetlać ślady wydajności aplikacji działającej na platformie Azure, niezależnie od scenariusza. Proces śledzenia profilera odbywa się automatycznie, na dużą skalę i nie ma negatywnego wpływu na użytkowników. 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 we wszystkich aplikacjach platformy Azure, aby zbierać 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ć.

Algorytm obciążenia i próbkowania

Profiler losowo uruchamia dwie minuty na godzinę na każdej maszynie wirtualnej hostującego aplikacje z włączonym profilerem. Gdy profiler jest uruchomiony, dodaje do serwera obciążenie z 5 procent do 15 procent procesora CPU.

Obsługiwane w profilerze

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
usług 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 Szczegółowe informacje, obecnie w wersji zapoznawczej.

Jeśli włączono funkcję Profiler, 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 profilera bez dodatkowych kosztów, aplikacja internetowa musi być hostowana w warstwie podstawowa funkcji Web Apps usługi aplikacja systemu Azure, co najmniej.
    • Do każdej aplikacji internetowej można dołączyć tylko jeden profiler.

Następne kroki

Dowiedz się, jak włączyć profiler w usłudze platformy Azure: