Sledování a optimalizace hrají klíčovou roli v úspěšném vývoji softwarových aplikací.
ASP.NET je open-source framework postavený na platformě .NET. Vývojáři ho používají k tvorbě webových stránek, aplikací a služeb s využitím technologií CSS, HTML a JavaScript. Umožňuje také vytvářet webová API, která zprostředkovávají komunikaci ve formátech JSON nebo XML s připojenými zařízeními, včetně mobilních telefonů.
Funkcionalitu ASP.NET lze rozšířit pomocí knihovny SignalR. SignalR využívá rozhraní WebSockets API založené na HTML5 a další API k vytvoření dynamické obousměrné komunikace mezi serverem a klientem.
Microsoft nabízí i další frameworky pro vylepšení možností ASP.NET, jako jsou dynamická data, frameworky pro datové aplikace, funkce AJAX a framework MVC (Model-View-Controller) pro tvorbu webových aplikací.
Proč je důležité ladit aplikace ASP.NET?
V procesu návrhu a vývoje, neboli v životním cyklu vývoje programu (SDLC), se nevyhnutelně objevují chyby. Je klíčové tyto chyby včas odhalit a opravit, abychom minimalizovali vynaložený čas a předešli budoucím velkým problémům.
Proces hledání a opravování logických a syntaktických chyb v SDLC se nazývá ladění.
Během ladění programátor nebo vývojář vkládá do aplikace ASP.NET zarážky. Tyto zarážky slouží k pozastavení běhu programu a umožňují krok za krokem zkontrolovat správnost kódu. Pomáhá to vývojářům analyzovat části kódu před jeho dokončením nebo úpravou.
Důležitost monitorování aplikací ASP.NET
Monitorování aplikací ASP.NET zajišťuje, že aplikace fungují podle stanovených metrik. Pokud se objeví problémy nebo chyby, měli by o nich vývojáři vědět co nejdříve, dříve než se negativně projeví na uživatelském zážitku.
Sledování událostí je klíčové pro udržení stabilního prostředí aplikace a pro včasné opravy v případě výpadků. Existuje několik důvodů, proč je monitorování aplikací ASP.NET důležité, například:
- Kontrola dostupnosti a využití webu
- Aplikace generuje výjimku při každém načtení stránky
- Aplikace funguje správně, ale fakturace nebo back-end procesy nefungují
- Aplikace spouští další procesy, které mohou spotřebovávat zdroje a zpomalovat hlavní proces
Pro malé a střední podniky (SMB) i velké korporace je nezbytné sledovat odezvu aplikací ASP.NET, jejich online dostupnost, reakce zákazníků, back-end procesy a další aspekty. To vše pro zajištění co nejlepšího uživatelského zážitku a lepších obchodních výsledků.
Společnost by měla minimálně vědět, zda je aplikace online a jak efektivně funguje. Je web rychlý nebo pomalý? Jsou zákazníci spokojeni? To jsou klíčové otázky, na které je třeba znát odpovědi a neustále je monitorovat.
V následujících odstavcích probereme nástroje, které se používají pro ladění a monitorování aplikací ASP.NET.
New Relic
New Relic nabízí přehled o výkonu .NET Framework a .NET Core, stejně jako dalších jazyků a komponent. Tento software pomáhá odhalovat úzká hrdla v aplikacích a službách a umožňuje je opravit dříve, než se projeví v uživatelském zážitku.

Jedná se o adaptabilní software, který monitoruje aplikace běžící v datových centrech, cloudu a webové služby od Amazonu, Microsoft Azure, Elastic Cloud a dalších poskytovatelů.
Jeho dynamická programová analýza pomáhá diagnostikovat a řešit problémy ve fázích produkce. Systém upozornění na výjimky umožňuje řešit problémy dříve, než se dotknou uživatelů.
Celkově je New Relic komplexní nástroj pro sledování celého ASP.NET rámce z hlediska monitorování v reálném čase, sledování provozu, výstrah, diagnostiky a řešení problémů v aplikacích.
Funkce:
- Porovnání výkonu před a po nasazení nového kódu
- Vizualizace mapy služeb pro distribuované aplikace a závislosti mezi službami
- Centralizovaný řídicí panel pro sledování všech spuštěných aplikací a sledování jejich stavu
- Sběr dat v reálném čase pro lepší přehled o výkonu aplikace
Transparentnost, předvídatelnost a cenová dostupnost jsou významnými výhodami pro malé a střední podniky. Základní funkce jsou pro jednoho uživatele zdarma, cena pro další uživatele a pokročilejší funkce začíná na 99 USD.
ManageEngine
Monitorování aplikací ManageEngine bylo devětkrát oceněno v Gartner Magic Quadrant. Nabízí podrobný přehled o výkonu různých typů webových aplikací a klíčových uživatelských zkušenostech, což umožňuje identifikovat a řešit problémy dříve, než se negativně projeví na koncových uživatelích.

Od kódových sekvencí až po URL adresy, lze monitorovat celý aplikační stack, sledovat problémy s výkonem a opravovat chyby dříve, než dojde k vážnějším výpadkům.
Kromě toho lze z různých míst na řídicím panelu sledovat i metriky výkonu, jako je doba vykreslování stránky, doba stahování nebo doba zablokování. Firmy všech velikostí mohou tento software využít ke sledování běhu aplikací, výkonu v reálném čase a k řešení problémů, které mohou ovlivnit uživatelský zážitek.
Funkce:
- Sledování a monitorování akcí uživatelů z hlediska doby odezvy a chyb
- Identifikace webových transakcí, které vedou ke špatné uživatelské zkušenosti, a hodnocení uživatelské spokojenosti pomocí Apdex skóre
- Použití vodopádových grafů k identifikaci komponent s pomalým načítáním
- Záznam důležitých webových cest a jejich přehrávání během několika minut
Kromě .NET frameworku lze tento software využít i pro monitorování různých webových aplikací, včetně Java, NodeJS, Ruby on Rails a PHP. Software je dostupný zdarma na 30 dní, následně jsou k dispozici roční a trvalé licencované verze na vyžádání.
Sentry
Sentry je jedním z nejjednodušších a nejpoužívanějších softwarů pro monitorování chyb a výkonu ASP.NET, a to jak pro malé firmy, tak pro velké korporace. Používá ho více než 80 000 organizací po celém světě, včetně Microsoft, Disney, Cloudfare, Reddit, Github a dalších.

Umožňuje monitorovat celý aplikační stack, včetně názvů souborů a čísel řádků. Všechny výjimky, včetně ladících protokolů, síťových dotazů, databázových dotazů a minulých chyb lze filtrovat a seskupovat pro analýzu.
Jedinečná možnost vytváření vlastních značek prostředí pro výjimky pomáhá kategorizovat aplikace, obchodní problémy a chyby uživatelů. Zpracování výjimek ASP.NET je založeno na specifických parametrech, jako jsou HTTP požadavky, fáze pracovního postupu a název hostitele pro každý problém.
Funkce:
- Distribuované end-to-end sledování pro odhalení špatných a dobrých volání API
- Efektivní řešení chyb a automatické zasílání e-mailových upozornění na chyby odpovědným týmům/osobám
- Schopnost sloučit duplicitní chyby podle verze a zjišťovat, zda budou mít dopad na budoucí verze
Bezplatná verze je dostupná pro vývojáře pro základní sledování výkonu. Cena začíná na 26 USD měsíčně.
DotTrace
DotTrace Profiler pomáhá společnostem odhalovat slabá místa v efektivitě všech typů aplikací .NET, včetně desktopových aplikací, Windows Communication Foundation služeb, Windows Universal Platform aplikací, ASP.NET aplikací hostovaných na IIS, unit testů, Mono a Unity aplikací.

Jednou z jeho jedinečných funkcí je možnost okamžitého profilování jakékoli statické metody v kódu. To pomáhá profilovat každý kus kódu ihned po jeho napsání. Není nutné vytvářet řešení, spouštět ho pod profilerem nebo spouštět deployment skript.
Všechny SQL dotazy lze sledovat, což umožňuje identifikovat pomalé dotazy a analyzovat jejich výkon. Tento nástroj lze připojit ke spuštěným aplikacím a analyzovat tak problémy s výkonem přímo v produkčním prostředí.
Funkce:
- Rychlá analýza asynchronního kódu na jednom místě.
- Možnost vzdáleného profilování aplikací bez nutnosti instalace.
- Analýza pomalých příchozích HTTP požadavků pro zjištění příčiny.
- Odhad zlepšení výkonu přepočtem doby trvání všech funkcí v časovém snímku na základě úpravy časování.
DotTrace nabízí plugin pro TeamCity, který umožňuje profilovat integrační testy na serveru CI a předcházet snížení výkonu. Software DotTrace je součástí balíčku dotUltimate, který zahrnuje šest dalších nástrojů. Cena dotUltimate pro jednoho uživatele je 399 USD na první rok.
Dynatrace
Dynatrace je komplexní balíček pro monitorování aplikací .NET, včetně prohlížečů, IIS, databází, služeb a aktivit. Využívá proprietární technologii PurePath pro zachycení časových a kontextových informací o kódu pro každou transakci na všech úrovních prostředí aplikací .NET, bez mezer a slepých míst.

Předkonfigurované řídicí panely monitorují všechny metriky výkonu v reálném čase, včetně jednotlivých transakcí, SQL příkazů, úrovní kódu a dalších. Zobrazuje různé metriky pro sledování chyb, jako je garbage collection, velikost webového požadavku, aktivní a neaktivní vlákna, .NET paměť, restarty, chybovost, šířka pásma atd.
Funkce:
- Monitorování metrik výkonu, jako je využití CPU a paměti, síťový provoz a opakované přenosy TCP.
- Funkce zpětného trasování pomáhá pochopit dopad databázových operací na uživatelský zážitek.
- Automatická identifikace a mapování všech aplikací a toků obchodních transakcí v aplikacích .NET.
- Monitorování metrik výkonu webového serveru, jako jsou procesy, provoz a dotazy.
Cena kompletního monitorovacího softwaru je 69 USD. Pro specifické moduly je k dispozici odlišná cenová struktura.
AppDynamics
AppDynamics platforma byla převzata celosvětově uznávanou sítí Cisco. Tento software nabízí komplexní řešení pro monitorování a správu výkonu aplikací .NET.

Má nejvíce škálovatelný design v oboru. Podporuje prakticky všechny .NET frameworky pro monitorování, včetně ADO, ASP, IIS, asynchronního monitorování, standalone aplikací, Windows Services, Azure, Sharepoint Serverů, remote services, MVC5 a mnoha dalších.
Má specializovaný panel Business Transaction Management, který monitoruje a sleduje celkovou efektivitu obchodních transakcí, včetně jejich stavu, důležitých statistik, jako jsou volání za minutu, pomalé transakce a další.
Zobrazuje podrobné metriky, jako je doba spuštění kódu pro obnovení transakcí ASP.NET.
Funkce:
- Automatické snímky pomalých nebo čekajících transakcí pro rychlou analýzu a řešení problémů s ASP.NET
- Grafické znázornění statistik výkonu
- Rychlý montážní mechanismus umožňuje rychlé nasazení
Software je dodáván s 15denní testovací fází. Cenová struktura je založena na počtu CPU jader a začíná na 6 USD měsíčně za Infrastructure Monitoring Edition. Jsou dostupné další tři edice: Premium (60 USD/měsíc), Enterprise (90 USD/měsíc) a Monitorování uživatelů v reálném čase (0.06 USD/měsíc za 1000 tokenů).
ANTS Performance Profiler
ANTS Performance Profiler je navržen pro nalezení problémů s výkonem v .NET Standard, .NET Core, frameworkech třetích stran, SQL dotazech a dalších. Používá se pro desktopové aplikace, aplikace ASP.NET a ASP.NET Model-View-Controller.

Tento software nabízí kompletní data o výkonu ASP.NET pro .NET kód a databázové dotazy. Jeho přesná diagnostika umožňuje odhalit přesné místo, které způsobuje problémy.
Jeho stromová struktura volání identifikuje a přímo zobrazuje nákladné metody, DB dotazy a webové dotazy, což pomáhá s řešením problémů s pomalými operacemi. Professional edice podporuje dvě hlavní databáze – SQL a Oracle – pro testování, jak efektivně .NET kód komunikuje s databází.
Funkce:
- Poskytuje detailní přehled o I/O operacích, pokud aplikace provádí diskové operace.
- Sleduje odchozí HTTP požadavky, aby odhalil příčiny jejich spuštění.
- Kombinuje čas strávený na každém řádku kódu s dotazem SQL, aby pomohl odhalit pomalé dotazy.
- Monitorování specifického výkonu CPU aplikací .NET nebo ASP.NET, abyste se mohli zaměřit pouze na relevantní data.
Zkušební doba je 14 dní. Software je k dispozici ve dvou edicích: Standard a Professional. Cena Standard edice začíná na 545 USD za uživatele.
Retrace
Stackify Retrace je snadno použitelný SaaS software pro monitorování aplikací ASP.NET a Java. Poskytuje kompletní end-to-end řešení, včetně monitorování aplikací, sledování transakcí, protokolování metrik, chyb a hlášení a robustní systém upozornění.

Jeho vlastní aplikace „App score“ poskytuje detailní informace, včetně Apdex skóre. Řídicí panel nabízí informace o všech metrikách, které lze využít pro detailní monitorování vaší aplikace, včetně nejlepších webových dotazů, výkonu SQL dotazů, pomalých webových dotazů a dalších.
Jeho webová platforma zobrazuje výkon serverů a aplikací z hlediska využití CPU a paměti, signály související s kritickými transakcemi za minutu, chyby za minutu, skóre spokojenosti a další.
Funkce:
- Automatizace sledování nasazení pomocí nástrojů pro kontinuální integraci/průběžné doručování (CI/CD).
- Možnost rychlé identifikace změn ve výkonu nebo chybovosti.
- Možnost sledovat, jak dlouho trvá zpracování webových požadavků.
- Rychlé řešení chyb a odhalování možností pro optimalizaci kódu.
Software je dostupný zdarma po dobu 14 dní. Náklady začínají na 10 USD/měsíc pro předprodukční prostředí a 25 USD/měsíc pro produkční prostředí.
MiniProfiler
MiniProfiler je open-source platforma pro .NET, ASP.NET, ASP.NET Core a ASP.NET MVC, vyvinutá členy týmu Stack Overflow.
MiniProfiler pomáhá ladit a optimalizovat výkon jednotlivých stránek sledováním doby trvání zpracování každé části aplikace a času stráveného zpracováním databázových dotazů.
Platforma se používá pro identifikaci oblastí aplikace, které způsobují zpoždění, což umožňuje vývojářům detailně prozkoumat úzká hrdla a provést nezbytné korekce, aby dosáhli požadované rychlosti aplikace.
Mezi jeho nejlepší funkce patří: logování, call stack a databázové profily.
Závěr
Tvorba robustních aplikací je komplexní úkol, který vyžaduje mnoho hodin strávených psaním komplikovaného kódu, včetně HTML, CSS a JS. Proces tvorby aplikace zahrnuje mapování entit, využití různých knihoven, konektivitu databází, odezvu serveru a další aspekty.
V průběhu tohoto procesu je obtížné pochopit přesnou příčinu, která zpomaluje aplikaci. Proto jsou výše zmíněné nástroje a software užitečné pro zjednodušení procesu ladění, monitorování a optimalizace výkonu aplikace.
Doufáme, že vám tento článek pomůže s laděním a optimalizací výkonu vašich ASP.NET aplikací. Mohl by vás také zajímat článek o ASP.NET Hostingových platformách.