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: