Profilování produkčních aplikací v Azure pomocí profileru Application Insights pro .NET
Diagnostika problémů s výkonem vaší aplikace může být obtížná, zejména při spouštění v produkčním prostředí v dynamickém cloudu. Pomalé reakce ve vaší aplikaci můžou být způsobené infrastrukturou, architekturou nebo kódem aplikace, které zpracovávají požadavek v kanálu.
S profilerem Application Insights pro .NET můžete zachytit, identifikovat a zobrazit trasování výkonu vaší aplikace spuštěné v Azure bez ohledu na scénář. Proces trasování .NET Profileru probíhá automaticky, ve velkém měřítku a nemá negativní vliv na vaše uživatele. Profiler .NET identifikuje:
- Nejrychlejší a nejpomalejší dobu odezvy jednotlivých webových požadavků provedených zákazníky a její střední hodnotu.
- Cesta "horkého" kódu tráví nejvíce času zpracováním konkrétního webového požadavku.
Povolte Profiler pro .NET ve všech vašich aplikacích Azure, aby shromažďoval data s následujícími triggery:
- Trigger vzorkování: Spustí Profiler náhodně přibližně jednou za hodinu po dobu dvou minut.
- Trigger procesoru: Spustí Profiler, když je procento využití procesoru nad 80 procent.
- Trigger paměti: Spustí Profiler, když využití paměti překročí 80 procent.
Každá z těchto aktivačních událostí může být nakonfigurovaná, povolená nebo zakázaná.
Vzorkovací frekvence a režijní náklady
Ve výchozím nastavení Profiler aktivně shromažďuje trasování každou hodinu po dobu 30 sekund nebo během období vysokého využití procesoru nebo paměti po dobu 30 sekund. Hodinová trasování (označovaná jako vzorkování) jsou skvělá pro proaktivní ladění, zatímco vysoké trasování procesoru a paměti (označované jako triggery) jsou užitečné pro reaktivní řešení potíží.
Poznámka:
Když Profiler aktivně spouští a shromažďuje trasování, obvykle se k vašemu serveru přidává mezi 5 % až 15 % režie procesoru a paměti.
Za ukládání dat zachycených profilerem nejsou žádné další náklady . Data se automaticky odstraní po 15 dnech.
Podporováno v profileru .NET
Profiler funguje s aplikacemi .NET nasazenými na následujících službách Azure. V následujících odkazech si projděte konkrétní pokyny pro povolení profileru pro jednotlivé typy služeb.
Výpočetní platforma | .NET (>= 4.6) | .NET Core |
---|---|---|
Azure App Service | Ano | Yes |
Azure Virtual Machines a škálovací sady virtuálních počítačů pro Windows | Ano | Yes |
Virtuální počítače Azure a škálovací sady virtuálních počítačů pro Linux | No | Ano |
Azure Cloud Services | Ano | Yes |
Azure Container Instances pro Windows | No | Ano |
Azure Container Instances pro Linux | No | Ano |
Kubernetes | No | Ano |
Azure Functions | Ano | Yes |
Azure Service Fabric | Ano | Ano |
Poznámka:
Můžete také použít Java Profiler pro Azure Monitor Application Insights, který je aktuálně ve verzi Preview.
Pokud jste profiler povolili pro .NET, ale nezobrazují se trasování, prohlédni si průvodce odstraňováním potíží.
Omezení
- Uchovávání dat: Výchozí doba uchovávání dat je pět dnů.
- Profilace webových aplikací:
- I když můžete používat .NET Profiler bez dalších poplatků, vaše webová aplikace musí být hostovaná v základní úrovni funkce Web Apps služby Aplikace Azure, a to minimálně.
- Ke každé webové aplikaci můžete připojit pouze jeden profiler.
- .NET Profiler v Linuxu se podporuje jenom ve webových aplikacích založených na Windows.
Další kroky
Zjistěte, jak ve službě Azure povolit .NET Profiler: