Overvåking og feilsøking utgjør fundamentale elementer for å oppnå vellykket applikasjonsutvikling.
ASP.NET, et rammeverk med åpen kildekode basert på .NET, brukes av utviklere til å konstruere nettsider, applikasjoner og tjenester ved hjelp av teknologier som CSS, HTML og JavaScript. Det tillater også utvikling av web-API-er som muliggjør kommunikasjon mellom tilkoblede enheter, inkludert mobilenheter, ved hjelp av JSON eller XML.
Funksjonaliteten i ASP.NET kan utvides gjennom SignalR-biblioteket. SignalR benytter HTML5-baserte WebSockets API og andre API-er for å lette etablering av dynamisk toveiskommunikasjon mellom server og klient.
Microsoft tilbyr også alternative rammeverk for å berike ASP.NET-funksjonaliteten, inkludert dynamiske data, rammeverk for dataapplikasjoner, AJAX-funksjonalitet samt et MVC-rammeverk (Model-View-Controller) for å skape webapplikasjoner.
Behovet for feilsøking i ASP.NET-applikasjoner
I løpet av design- og utviklingsprosessen, også kjent som programutviklingslivssyklusen (PDLC), vil feil uunngåelig oppstå. Det er kritisk å identifisere og rette disse feilene tidlig for å redusere arbeidstimer og unngå betydelige utviklingshindringer senere.
Prosessen med å finne og korrigere logiske og syntaktiske feil innenfor en PDLC refereres til som feilsøking.
Under feilsøkingsprosessen setter programmereren eller utvikleren inn bruddpunkter i ASP.NET-applikasjonen. Disse bruddpunktene benyttes til å stoppe kjøringen av et program for å verifisere programmets korrekthet steg for steg. Dette hjelper utviklerne med å analysere kodeavsnitt før de finaliserer eller korrigerer koden.
Overvåkingsbehov for ASP.NET-applikasjoner
Overvåking av ASP.NET-applikasjoner sørger for at applikasjonene opererer i henhold til definerte parametere. Ved problemer eller feil, skal utviklerne raskt bli varslet for å forhindre negativ innvirkning på brukeropplevelsen.
Hendelser som overvåkes er essensielle for å opprettholde applikasjonens driftstid og muliggjøre rask korrigering av eventuelle feil. Det finnes mange årsaker til å overvåke ASP.NET-applikasjoner, som for eksempel:
- Verifisere tilgjengelighet og bruk av nettsiden
- Sjekke om applikasjonen genererer unntak ved hver sideinnlasting
- Bekrefte at applikasjonen fungerer, men backend-prosesser som fakturering eller lignende ikke kjører
- Avdekke om applikasjonen utfører andre resurskrevende prosesser som reduserer ytelsen til hovedprosessen
Det er av betydning for både små og mellomstore bedrifter (SMB) og store selskaper å overvåke aspekter som responsen fra ASP.NET-applikasjonen, online tilgjengelighet, tilbakemeldinger fra kunder og backend-prosesser. Dette sikrer den best mulige sluttbrukeropplevelsen og forbedrede forretningsresultater.
Bedrifter må som et minimum ha innsikt i om applikasjonen er online og hvordan den presterer på et overordnet nivå. Er siden rask eller treg? Er kundene tilfredse? Disse er kritiske spørsmål som må besvares og overvåkes fortløpende.
I de følgende avsnittene vil vi utforske verktøy som brukes til å feilsøke og overvåke ASP.NET-applikasjoner.
New Relic
New Relic tilbyr innsikt i .NET Framework og .NET Core, samt andre språk og komponenter i tillegg til Microsoft. Programvaren bistår med å identifisere flaskehalser i applikasjoner og tjenester, og å løse dem før de påvirker kundeopplevelsen.
Dette er en fleksibel programvare som overvåker applikasjoner i skybaserte datasentre, og webtjenester fra blant andre Amazon, Microsoft Azure og Elastic Cloud fra Amazon.
Dens dynamiske programanalyse diagnostiserer og løser problemer i produksjonsfasen. Et system for unntaksvarsler hjelper til med å løse problemer før de rammer brukerne.
Samlet sett er New Relic en omfattende løsning for å synliggjøre hele ASP.NET-rammeverket når det gjelder sanntidsovervåking, operasjonell sporing, varslinger, diagnostikk og feilsøking.
Funksjoner
- Ytelsessammenligning før og etter kodeimplementering
- Visualisering av tjenestekart for distribuerte applikasjoner og tjenesteavhengigheter
- Sentralisert dashbord for å overvåke alle aktive applikasjoner og helsestatus
- Innsamling av sanntidsdata for å evaluere applikasjonsytelse
Åpenheten, forutsigbarheten og kostnadseffektiviteten til denne programvaren er betydelige fordeler for små og mellomstore bedrifter. Grunnleggende funksjoner er tilgjengelige gratis for én bruker. Prisene starter på $99 per ekstra bruker og for tilgang til tilleggsfunksjoner.
ManageEngine
Applikasjonsovervåkingsverktøyet til ManageEngine har blitt kåret til en magisk kvadrant av Gartner ni ganger. Det gir dyp innsikt i ytelsen til ulike typer webapplikasjoner, og viktige brukeropplevelser for bedriftsapplikasjoner. Dette bidrar til å identifisere og løse problemer før de påvirker sluttbrukere.
Fra kodingssekvenser til Unified Resource Locator (URL), kan hele applikasjonsstrukturen overvåkes. Programvaren sporer ytelsesproblemer og fikser feil før større problemer oppstår.
Miniatyr-ytelsesmålinger som sidevisningstid, nedlastingstid og ventetid kan også spores fra ulike steder i dashbordet. Organisasjoner i alle størrelser kan bruke programvaren til å spore programkjøring, overvåke ytelse i sanntid og løse flaskehalser før brukeropplevelsen påvirkes.
Funksjoner
- Sporing og overvåking av brukerhandlinger for responstider og feil
- Identifisering av netttransaksjoner som forårsaker dårlig brukeropplevelse og måling av brukertilfredshet med Apdex-resultater
- Bruk av fossefalldiagrammer for å identifisere komponenter som laster tregt
- Registrering og avspilling av viktige nettbaner på få minutter
I tillegg til .NET-rammeverket, kan det brukes til ulike typer webapplikasjoner som Java, NodeJS, Ruby on Rails og PHP. Programvaren er tilgjengelig for gratis bruk i 30 dager, deretter er det mulig å kjøpe årlige eller evigvarende lisensierte versjoner.
Sentry
Sentry er en av de mest brukervennlige og populære programvarene for feil- og ytelsesovervåking for ASP.NET, benyttet av både små og store bedrifter. Verktøyet brukes av 80 000 organisasjoner over hele verden, inkludert Microsoft, Disney, Cloudfare, Reddit og Github.
Hele applikasjonsstrukturen kan overvåkes, inkludert filnavn og linjenumre. Alle unntak, inkludert feilsøkingslogger, nettverksspørringer, databasespørringer og tidligere feil kan filtreres og grupperes for analyse.
Muligheten for å lage tilpassede miljøkoder for unntak, bidrar til å kategorisere applikasjoner, forretningsproblemer og brukerfeil. ASP.NET unntakshåndtering er basert på spesifikke parametere som HTTP-forespørsel, arbeidsflytstadium og vertsnavn for hvert problem.
Funksjoner
- Distribuert ende-til-ende sporing for å oppdage feil og identifisere korrekte API-kall
- Effektiv håndtering og fiksing av ASP.NET-feil ved automatisk sending av e-poster til relevante eiere/team
- Mulighet for å slå sammen dupliserte feil etter versjon og vurdere innvirkningen på fremtidige versjoner
En gratisversjon er tilgjengelig for utviklere for grunnleggende ytelsesovervåking. Prisene starter på $26 per måned.
DotTrace
DotTrace Profiler hjelper virksomheter med å identifisere ytelsesflaskehalser i alle typer .NET-applikasjoner, inkludert skrivebordsapplikasjoner, Windows Communication Foundation og Windows Universal Platform-tjenester, ASP.NET-applikasjoner som hostes på IIS-nettservere, enhetstester, Mono- og Unity-applikasjoner.
En av dets unike funksjoner er muligheten til å profilere statiske metoder umiddelbart i koden, slik at hver kode kan profileres med en gang etter koding. Det er ikke behov for å bygge en løsning, kjøre den under en profiler eller kjøre et distribusjonsskript.
Alle SQL-tilkoblinger kan spores for å avdekke trege SQL-spørringer og samle ytelsesstatistikk. Dette kan assosieres med kjørende applikasjoner for å undersøke ytelsesproblemer i et produksjonsmiljø.
Funksjoner
- Rask analyse av asynkron kode på ett sted.
- Muliggjør ekstern profilering av applikasjoner uten installasjon.
- Analyser trege innkommende HTTP-forespørsler for å finne den eksakte årsaken
- Estimert ytelsesforbedring for alle funksjoner i et øyeblikksbilde basert på tidsjustering
DotTrace tilbyr en dedikert TeamCity-plugin som kan brukes til å profilere CI-serverintegrasjonstester og forhindre ytelsesforringelse. Dot trace-programvaren er en del av dotUltimate-programvarepakken, som inkluderer seks ekstra verktøy. DotUltimate koster $399 for én bruker det første året.
Dynatrace
Dynatrace er en komplett .NET-pakke for overvåking av nettleserapplikasjoner, IIS, databaser, tjenester og aktivitet. Den benytter proprietær PurePath-teknologi for å registrere tid og kontekstnivåer for hver transaksjon, uten hull eller blindsone i .NET-applikasjonsmiljøer.
Forhåndskonfigurerte dashbord overvåker alle sanntidsytelsesmålinger, inkludert individuelle transaksjoner, SQL-setninger og kodenivåer. Det viser ulike feilsøkingsverdier som søppelinnsamling, nettforespørselsstørrelse, aktive og inaktive tråder, .NET-minne, omstarter, feilfrekvens og båndbredde.
Funksjoner
- Ytelsesmålinger som CPU- og minnebruk, nettverkstrafikk og TCP-reoverføringer kan observeres.
- Funksjonene for omvendt sporing hjelper til med å forstå hvordan databaseuttrykk påvirker brukeropplevelsen.
- Identifiserer og kartlegger automatisk alle applikasjoner og forretningstransaksjoner i .NET-applikasjoner.
- Ytelsesmålinger for nettservere som prosesser, trafikk og spørringer kan spores.
Kostnaden for full-stack overvåkingsprogramvare er $69. Hvis du ser etter en spesifikk modul, har de en annen prisstruktur.
AppDynamics
Plattformen til AppDynamics ble overtatt av det kjente nettverksselskapet Cisco. Denne programvaren tilbyr en komplett løsning for overvåking og administrasjon av ytelsen til .NET-applikasjoner.
Den har det mest skalerbare designet i bransjen, og støtter nesten alle .NET-overvåkingsrammeverk, inkludert ADO, ASP, IIS, asynkron overvåking, frittstående applikasjoner, Windows-tjenester, Azure, Sharepoint-servere, eksterne tjenester, MVC5 og mange flere.
Den har et eget Business Transaction Management Board, som overvåker og sporer full effektivitet av forretningstransaksjoner når det gjelder transaksjonsstatus, viktig statistikk som samtaler per minutt og trege transaksjoner.
Den viser detaljerte beregninger, som utførelsestiden for ASP.NET-transaksjonsgjenopprettingskoden.
Funksjoner
- Automatiske øyeblikksbilder av trege eller ventende transaksjoner for rask analyse og feilsøking med ASP.NET
- Grafisk fremstilling av resultatstatistikk
- En rask monteringsmekanisme for rask distribusjon
Programvaren kommer med en 15-dagers prøveperiode. Prisstrukturen er basert på CPU-kjerner og starter på $6 per måned for Infrastructure Monitoring Edition. Det finnes tre andre utgaver: Premium ($60/m), Enterprise ($90/m) og sanntidsbrukerovervåking (0,06/m per 1000 tokens).
ANTS Performance Profiler
ANTS Performance Profiler er utviklet for å identifisere ytelsesproblemer i .NET-standard og .NET Core, tredjepartsrammeverk, SQL-spørringer og mer. Den brukes for skrivebordsapplikasjoner, ASP.NET-applikasjoner og ASP.NET Model-View-Controller.
Denne programvaren gir komplette ASP.NET-ytelsesdata for .NET-kode og databasespørringer. Den nøyaktige diagnostikken gjør det mulig å gå i dybden for å finne trege linjer og avdekke problemer.
Anropstrestrukturen identifiserer og viser direkte kostbare metoder, DB-spørringer og nettspørringer for å feilsøke treg aktivitet. Professional Edition støtter de to største databasene, SQL og Oracle, for å teste hvor effektivt .NET-kode spør databasen.
Funksjoner
- Gir bred I/O-ytelse når applikasjoner har diskaktivitet
- Sporer utgående HTTP-forespørsler for å identifisere årsaker
- Kombinerer hver radtid med SQL-spørring for å identifisere trege spørringer
- Overvåker CPU-spesifikk ytelse til .NET- eller ASP.NET-applikasjoner
Prøveperioden er 14 dager. Denne programvaren er tilgjengelig i to utgaver: Standard og Professional. Standardpriser starter på $545 per bruker.
Retrace
Stackify Retrace er en brukervennlig SaaS-basert programvare som overvåker ASP.NET og Java-applikasjoner. Den tilbyr komplette ende-til-ende-løsninger, inkludert applikasjonsovervåking, transaksjonssporing, metrikklogging, feil og rapportering, og robust varsling.
Appens egendesignede «App score» gir detaljerte data basert på Apdex-score. Dashbordet gir informasjon om alle målinger som kan brukes for å overvåke applikasjonen, inkludert de beste nettforespørslene, SQL-søkeytelse og trege nettforespørsler.
Nettplattformen viser server- og applikasjonsytelse når det gjelder CPU- og minnebruk, signaler relatert til kritiske transaksjoner per minutt, feil per minutt, tilfredshetsscore og mer.
Funksjoner
- Automatiserer distribusjonssporing med ethvert verktøy for kontinuerlig integrasjon/kontinuerlig levering (CI/CD).
- Identifiserer raskt endringer i ytelse eller feilrate
- Gjenkjenner hvor lang tid behandling av nettforespørselskode tar
- Retter opp feil raskt og gjenkjenner muligheter for kodeoptimalisering
Denne programvaren er tilgjengelig gratis i 14 dager. Kostnadene starter på $10/måned for pre-produksjon og $25/måned for produksjon.
MiniProfiler
MiniProfiler er en åpen kildekode-plattform for .NET, ASP.NET, ASP.NET Core og ASP.NET MVC. Den er skapt av medlemmer av Stack Overflow-teamet.
MiniProfiler hjelper til med feilsøking og optimalisering av ytelsen for hver side. Det gjøres ved å spore tiden det tar å behandle hver del av applikasjonen og hvor mye tid som brukes på å behandle databaseforespørsler.
Plattformen brukes til å identifisere hvilken del av applikasjonen som forårsaker forsinkelsen, slik at utvikleren kan undersøke flaskehalsen og foreta nødvendige korrigeringer. Dette vil forbedre applikasjonens hastighet.
De viktigste funksjonene er lagring, anropsstack og databaseprofiler.
Konklusjon
Å lage en robust applikasjon er en kompleks oppgave som krever mange arbeidstimer for å utføre kompleks koding, inkludert HTML, CSS og JS. Det innebærer også kartlegging av enheter, biblioteker, databasetilkoblinger og serverresponstider.
I denne prosessen er det vanskelig å identifisere den eksakte årsaken til at applikasjonen er treg. Verktøyene og programvarene som er nevnt over, er nyttige for å forenkle feilsøking, overvåking og optimalisering av applikasjonens ytelse.
Vi håper denne artikkelen har hjulpet deg med å feilsøke og optimalisere ytelsen til ASP.NET-applikasjoner. Du kan også være interessert i å lære mer om ASP.NET-vertsplattformer.