Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Optymalizacje kodu, usługa oparta na sztucznej inteligencji w usłudze aplikacja systemu Azure Insights, współpracuje z profilerem usługi Application Insights dla platformy .NET w celu wykrywania problemów z wydajnością procesora CPU i pamięci na poziomie kodu i udostępniania zaleceń dotyczących ich rozwiązywania.
Podejmowanie świadomych decyzji i optymalizowanie kodu przy użyciu danych wydajności w czasie rzeczywistym i szczegółowych informacji zebranych ze środowiska produkcyjnego.
Optymalizacje kodu można przejrzeć w witrynie Azure Portal.
Optymalizacje kodu i profiler usługi Application Insights dla platformy .NET
Profiler platformy .NET i optymalizacje kodu współpracują ze sobą, aby zapewnić całościowe podejście do wykrywania problemów z wydajnością.
Optymalizacje kodu
Optymalizacje kodu identyfikują, analizują i usuwają dane profilowania zebrane przez profilera usługi Application Insights dla platformy .NET. Ponieważ program .NET Profiler przekazuje dane do usługi Application Insights, nasz model uczenia maszynowego analizuje niektóre dane, aby znaleźć, gdzie można zoptymalizować kod aplikacji. Optymalizacje kodu:
- Wyświetla zagregowane dane zebrane w czasie.
- Łączy dane z metodami i funkcjami w kodzie aplikacji.
- Zawęża winowajcę, wyszukując wąskie gardła w kodzie.
- Zapewnia poprawki wydajności na poziomie kodu na podstawie szczegółowych informacji.
Zidentyfikuj
Korzystając z strony skonsolidowanego przeglądu optymalizacji kodu, można zobaczyć wszystkie zalecenia dotyczące optymalizacji kodu w subskrypcjach platformy Azure i zasobach usługi Application Insights w portalu Azure. Zidentyfikuj wąskie gardła w swoim kodzie i przejrzyj zalecenia dotyczące kodu dla środowisk deweloperskiego, testowego, przedprodukcyjnego i produkcyjnego.
Analiza
Optymalizacje kodu, po zebraniu danych środowiska pracy, udostępniają rekomendacje na poziomie kodu co godzinę. Domyślnie zagregowany widok danych przedstawia 24-godzinne okno ostatnio zidentyfikowanych problemów z 30-dniową historią do przeglądania i analizowania przeszłych zdarzeń.
Rozwiąż
Po zidentyfikowaniu i przeanalizowaniu wyników optymalizacji kodu możesz rozwiązać te problemy w kodzie przy użyciu rozszerzeń Optymalizacje kodu visual Studio i Visual Studio Code . Korzystając z tych rozszerzeń, należy wchodzić w interakcje z rozwiązaniem GitHub Copilot, aby otrzymywać poprawkę kodu uziemiona w szczegółowych danych optymalizacji kodu.
Film demonstracyjny
Profiler usługi Application Insights dla platformy .NET
Program .NET Profiler koncentruje się na śledzeniu określonych żądań w milisekundach. Zapewnia on doskonały "ogólny obraz" problemów w aplikacji i ogólne najlepsze rozwiązania, aby je rozwiązać.
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.
- Gorąca ścieżka kodu zużywa najwięcej czasu na obsługę 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 CPU: uruchamia profiler, gdy procent użycia CPU wynosi ponad 80 procent.
- Wyzwalacz pamięci: Uruchamia profiler, gdy użycie pamięci przekracza 80 procent.
Każdy z tych wyzwalaczy można skonfigurować , włączyć lub wyłączyć.
Koszty i nakłady pracy
Optymalizacje kodu są generowane automatycznie po włączeniu profilera usługi Application Insights dla platformy .NET. 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 wysokie ślady zużycia procesora CPU i pamięci (nazywane wyzwalaczami) są przydatne do reaktywnego rozwiązywania problemów.
Uwaga / Notatka
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.
Niektóre funkcje optymalizacji kodu (takie jak sugestie poprawki na poziomie kodu) wymagają narzędzia Copilot dla usługi GitHub i/lub Copilot dla platformy Azure.
Włączanie programu .NET Profiler
W miarę rozwoju struktur i usług platformy Azure można włączyć program .NET Profiler dla aplikacji platformy .NET działających na platformie Azure za pomocą wielu opcji.
Usługa platformy Azure | Jak włączyć | Szczegóły |
---|---|---|
Większość usług platformy Azure | Zmiana kodu w aplikacji (najbardziej uniwersalne) |
Jeśli aplikacja .NET działa w wariantach usług PaaS platformy Azure lub kontenerów, możesz wybrać między dwiema opcjami włączania profilera platformy .NET: - Profiler usługi Application Insights dla platformy ASP.NET Core korzystającej z zestawu SDK usługi Application Insights lub - NowyAzure Monitor OpenTelemetry Profiler dla platformy NET (wersja zapoznawcza), który korzysta z Azure Monitor OpenTelemetry Distro |
Azure App Service | Brak zmiany kodu dla aplikacji | Ponieważ Profiler jest wstępnie zainstalowany, możesz włączyć Profiler dla platformy .NET w portalu: - Azure App Service — aplikacja .NET w systemie Windows - Azure Functions — plan usługi App Service |
Maszyny wirtualne | Brak zmiany kodu dla aplikacji | Po włączeniu zestawu SDK usługi Application Insights w kodzie aplikacji, możesz włączyć Profiler dla platformy .NET w szablonie usługi ARM. - Maszyny wirtualne platformy Azure i zestawy skalowania maszyn wirtualnych dla systemu Windows - Azure Service Fabric |
Szczegóły i przykłady włączania profilera dla platformy .NET
- Azure App Service — aplikacja .NET w systemie Windows
- Azure App Service — aplikacja .NET w systemie Linux
-
Kontenery:
- Azure Container Apps (aplikacje kontenerowe Azure)
- Azure Kubernetes Services
- Azure Container Instances (Instancje Kontenerów Azure)
- Maszyny wirtualne platformy Azure i zestawy skalowania maszyn wirtualnych dla systemu Windows
- Azure Functions — plan usługi App Service
- Azure Service Fabric
Uwaga / Notatka
Możesz również użyć profilera Java dla usługi Azure Monitor Application Insights, obecnie w wersji zapoznawczej.
Obsługiwane regiony
Optymalizacje kodu są dostępne w tych samych regionach co usługa Application Insights. Dostępne regiony można sprawdzić za pomocą następującego polecenia:
az account list-locations -o table
Możesz ustawić jawny region przy użyciu parametry połączenia. Dowiedz się więcej o łańcuchach połączeń z przykładami.
Ograniczenia
Profilowanie aplikacji internetowych:
- Mimo że można korzystać z programu .NET Profiler bez dodatkowych kosztów, aplikacja internetowa musi być hostowana co najmniej w warstwie podstawowej funkcji Aplikacji Web usługi Azure App Service.
- Do każdej aplikacji internetowej można dołączyć tylko jeden profiler.
Rozwiązywanie problemów
Profiler
Jeśli włączono narzędzie Profiler dla platformy .NET, ale nie widzisz śladów, zobacz Przewodnik rozwiązywania problemów.
Optymalizacje kodu
Występują problemy? Zapoznaj się z przewodnikiem rozwiązywania problemów z optymalizacjami kodu , aby zapoznać się z rozwiązaniami scenariuszy.
Dalsze kroki
Dowiedz się, jak włączyć program .NET Profiler przy użyciu optymalizacji kodu w usłudze platformy Azure:
- aplikacja ASP.NET Core hostowana w systemie Windows w usłudze Azure App Service
- aplikacja ASP.NET Core hostowana w systemie Linux w usłudze Azure App Service
- Aplikacja usługi Azure Functions
- Aplikacja usługi Azure Service Fabric
- Maszyny wirtualne platformy Azure
- aplikacja ASP.NET Core działająca w kontenerach