Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az alkalmazás teljesítményproblémáinak diagnosztizálása nehéz lehet, különösen akkor, ha az alkalmazás éles környezetben fut a dinamikus felhőben. A folyamat kérését kezelő infrastruktúra, keretrendszer vagy alkalmazáskód lassú válaszokat okozhat az alkalmazásban.
A Azure Application Insights AI-alapú szolgáltatása, a Code Optimizations a .NET-hez készült Application Insights Profilerrel együttműködve működik. Közösen észlelik a processzor- és memóriahasználati problémákat kódszinten. Javaslatokat tesznek a problémák megoldására.
Megalapozott döntéseket hozhat és optimalizálhatja a kódot az éles környezetből összegyűjtött valós idejű teljesítményadatok és elemzések használatával.
Kódoptimalizálás és Application Insights Profiler .NET
A .NET Profiler és a Kódoptimalizálás együttműködve holisztikus megközelítést biztosít a teljesítményproblémák észleléséhez.
Kódoptimalizálások
Code Optimizations azonosítja, elemzi és feloldja az Application Insights Profiler által .NET gyűjtött profilkészítési adatokat. Mivel a .NET Profiler adatokat tölt fel az Application Insightsba, a machine learning modell elemez néhány adatot, hogy megtalálja az alkalmazás kódjának optimalizálását. Kódoptimalizálások:
- Megjeleníti az idővel összegyűjtött összesített adatokat.
- Adatokat kapcsol össze az alkalmazáskód metódusaival és függvényeivel.
- Azonosítja a problémát a szűk keresztmetszetek megtalálásával a kódban.
- Elemzések alapján kódszintű teljesítményjavításokat biztosít.
Azonosít
A Code Optimizations konszolidált áttekintési oldalával az Azure-előfizetések és az Application Insights-erőforrások összes kódoptimalizálását láthatja az Azure portálon.
A kódoptimalizálások elemzéseket gyűjtenek a .NET Profiler által gyűjtött adatokból és a Snapshot Debugger-pillanatképekből, ha engedélyezve van. Azonosíthatja a kód szűk keresztmetszeteit, és áttekintheti a fejlesztési, tesztelési, előkészítési és éles környezetekre vonatkozó kódszintű javaslatokat.
Elemzés
Miután a környezet adatait összegyűjtötte a .NET Profiler-nyomkövetésekből és a Snapshot Debugger-pillanatképekből, ha engedélyezve van, a kódoptimalizálások óránként kódszintű javaslatokat nyújtanak. Alapértelmezés szerint az összesített adatnézet egy 24 órás, a közelmúltban azonosított problémákat megjelenítő, 30 napos előzményt jelenít meg, amellyel áttekintheti és elemezheti a múltbeli eseményeket.
Megoldás
A kódoptimalizálások azonosítása és elemzése után az Azure Portal Részletek másolása gombjával manuálisan is hozzáadhatja az elemzési környezetet kedvenc eszközéhez, például a GitHub Copilothoz.
A GitHub problémát a Azure portal Kódoptimalizálás lapján is létrehozhatja, és hozzárendelheti a GitHub Copilot kódolási ügynökhöz. Innen a GitHub Copilot megnyit egy pull requestet, és feltölti a kódoptimalizálások alapján készült kódmódosítási commiteket.
Bemutató videó
Alkalmazás Insights Profiler a .NET-hez
A .NET Profiler az adott kérések nyomon követésére összpontosít, egészen az ezredmásodpercig. Kiváló átfogó képet nyújt az alkalmazás problémáiról, és általános ajánlott eljárásokat biztosít a problémák megoldásához.
A .NET-hez készült Application Insights Profilerrel a forgatókönyvtől függetlenül rögzítheti, azonosíthatja és megtekintheti a Azure futó alkalmazás teljesítménybeli nyomkövetéseit. A .NET Profiler nyomkövetési folyamata automatikusan, nagy léptékben történik, és nem befolyásolja negatívan a felhasználókat. A .NET Profiler a következőt azonosítja:
- Az ügyfelei által kezdeményezett egyedi webes kérések medián, leggyorsabb és leglassabb válaszideje.
- A legforgalmasabb kódútvonal, amely egy adott webes kérelem kezelésével tölti a legtöbb időt.
Engedélyezze a .NET Profiler futtatását az összes Azure-alkalmazásban az adatok összegyűjtéséhez a következő eseményindítókkal:
- Mintavételezési eseményindító: A Profiler véletlenszerűen indul el óránként körülbelül két percig.
- CPU-eseményindító: Elindítja a Profilert, ha a processzorhasználat százalékos aránya meghaladja a 80%-ot.
- Memória-eseményindító: Elindítja a profilkészítőt, ha a memóriahasználat meghaladja a 80%-ot.
Ezen eseményindítók mindegyike konfigurálható , engedélyezhető vagy letiltható.
Költségek és többletköltségek
A kódoptimalizálások automatikusan létrejönnek, miután a .NET Application Insights profiler engedélyezve van. A Profiler alapértelmezés szerint óránként 30 másodpercig, magas processzor- vagy memóriahasználati időszakokban 30 másodpercig gyűjti a nyomkövetéseket. Az óránkénti nyomkövetések (úgynevezett mintavételezés) kiválóan alkalmasak a proaktív hangolásra. A magas processzor- és memórianyomok (úgynevezett triggerek) hasznosak a reaktív hibaelhárításhoz.
Megjegyzés:
Amikor az Application Insights Profiler for .NET aktívan futtatja és gyűjti a nyomkövetéseket, általában 5% és 15% processzor- és memóriaterhelést ad hozzá a kiszolgálóhoz.
A .NET Profiler által rögzített adatok tárolásához nincs további költség. Az adatok 15 nap elteltével automatikusan törlődnek.
Az egyes kódoptimalizálási funkciókhoz, mint például a kódszintű javítási javaslatokhoz, Copilot for GitHub vagy Copilot for Azure szükséges.
.NET Profiler engedélyezése
A keretrendszerek és az Azure-szolgáltatások fejlődésével különböző lehetőségekkel engedélyezheti a .NET Profiler-t az Azure-ban futó .NET-alkalmazásai számára.
| Azure szolgáltatás | Engedélyezés | Részletek |
|---|---|---|
| A legtöbb Azure szolgáltatás | Kódmódosítás az alkalmazásban (legtöbb univerzális) |
Ha a .NET-alkalmazás Azure PaaS-szolgáltatások vagy -tárolók változatán fut, két lehetőség közül választhat a profilkészítő .NET engedélyezéséhez: - Application Insights Profiler az ASP.NET Core, amely Application Insights SDK-t használ, vagy - ÚjAzure Monitor OpenTelemetry Profiler for .NET (előzetes verzió), amely az Azure Monitor OpenTelemetry Distro-t használja |
| Azure App Service | Nincs kódmódosítás az alkalmazáshoz | Mivel a Profiler előre telepítve van, engedélyezheti a Profiler for .NET használatát az Azure Portalon a következő célokra: - Azure App Service – .NET alkalmazás Windows rendszeren - Azure Functions – App Service terv |
| Virtual Machines | Nincs kódmódosítás az alkalmazáshoz | Miután az Application Insights SDK engedélyezve van az alkalmazáskódban, engedélyezheti a profilkészítőt a .NET-hez az ARM-sablonban. - Azure Virtuális Gépek és Virtuális Gépméretkészletek Windowshoz - Azure Service Fabric |
Részletek és példák a .NET Profiler engedélyezéséhez
-
- Azure Container Apps
- Azure Kubernetes Service
- Azure Container Instances
Azure Virtual Machines és Virtual Machine Scale Sets Windows rendszerekhez
Megjegyzés:
A Java Profiler Azure Application Insights monitorozásához is használható jelenleg előzetes verzióban.
Támogatott régiók
A kódoptimalizálások ugyanabban a régióban érhetők el, mint az Application Insights. Az elérhető régiókat az alábbi paranccsal ellenőrizheti:
az account list-locations -o table
Egy explicit régiót a kapcsolati karakterlánc használatával beállíthat. További információ: Kapcsolati sztring példák.
Korlátozások
Profiler
-
Webalkalmazások profilozása:
- A .NET Profilert külön költség nélkül használhatja, bár a webalkalmazást legalább a Web Apps szolgáltatás alapszintű szintjén kell üzemeltetni.
- Minden webalkalmazáshoz csak egy profilozót csatolhat.
Kódoptimalizálások
-
Tárhelykövetelmények:
- A kódoptimalizálás jelenleg csak az alapértelmezett Profilerrel vagy Application Insights-tárhellyel működik. Nem kompatibilis a Bring-Your-Own-Storage (BYOS) rendszerrel.
Hibaelhárítás
Profilkészítő
Ha engedélyezte a profilkészítőt a .NET-hez, de nem lát nyomokat, nézze meg a Hibaelhárítási útmutatót.
Kódoptimalizálások
Problémákba ütközik? A forgatókönyv-megoldásokhoz tekintse meg a kódoptimalizálás hibaelhárítási útmutatóját .
Kapcsolódó tartalom
Megtudhatja, hogyan engedélyezheti a .NET profilkészítőt kódoptimalizálással a Azure szolgáltatásban: