Vad är Application Insights?

Slutförd

Application Insights analyserar prestandan för ditt webbprogram och kan varna dig om potentiella problem.

Den här funktionen kräver ingen särskild installation förutom att konfigurera din app för Application Insights (på ASP.NET, Java eller Node.js och i webbsidekoden). Den är aktiv när din app genererar tillräckligt med telemetri.

När skulle jag få ett meddelande om smart identifiering?

Application Insights skickar ett meddelande när det upptäcker att programmets prestanda har försämrats på något av följande sätt:

  • Försämring av svarstiden: Appen har börjat svara på begäranden långsammare än den brukade göra. Ändringen kan ha varit plötslig, till exempel om det fanns en regression i den senaste distributionen, eller om nedbrytningen kan ha skett gradvis, kanske för att det finns en minnesläcka.
  • Försämring av beroendevaraktighet: Appen anropar ett REST API, en databas eller ett annat beroende. Beroendet svarar långsammare än det brukade.
  • Långsamt prestandamönster: Din app har ett prestandaproblem som endast påverkar vissa begäranden. Sidor läses till exempel in långsammare i en typ av webbläsare än på andra, eller så hanteras begäranden långsammare från en viss server. Application Insights-algoritmer tittar på sidinläsningstider, svarstider för begäranden och svarstider för beroenden.

Smart identifiering är en Application Insights-funktion som varnar dig för potentiella prestandaproblem och felavvikelser i webbprogrammet. Det kräver minst åtta dagars telemetri på en tillräcklig volym för att upprätta en baslinje. Efter den tidsperioden genererar eventuella betydande problem ett meddelande.

Innebär en avisering alltid ett problem?

En avisering innebär inte nödvändigtvis att din app har problem. Det är mer ett förslag om något du kanske vill titta närmare på.

Hur gör jag för att lösa problem?

Varje aviseringsmeddelande innehåller diagnostikinformation. Här är ett exempel på hur du kan använda den informationen:

En skärmbild som visar serverns svarstider som en del av meddelandediagnostiken.

  • För sortering: Meddelandet visar hur många användare eller hur många åtgärder som påverkas. Detta kan hjälpa dig att tilldela en prioritet till problemet.
  • För att fastställa omfång: Påverkar problemet all trafik eller bara vissa sidor? Är det begränsat till vissa webbläsare eller platser?
  • För diagnostik: Ofta tyder diagnostikinformationen i meddelandet på problemets art. Om svarstiderna till exempel blir långsammare när begärandefrekvensen är hög, tyder det på att servern eller beroendena är överbelastade. Om du behöver mer information öppnar du avsnittet Prestanda i Application Insights. Där hittar du profileringsdata. Om undantag utlöses kan du också prova felsökningsprogrammet för ögonblicksbilder.

Konfigurera e-postaviseringar

Meddelanden om smart identifiering aktiveras som standard och skickas till dem som har ägare, deltagare och läsare som har åtkomst till Application Insights-resursen. Om du vill ändra detta väljer du Antingen Konfigurera i e-postmeddelandet eller öppnar inställningarna för smart identifiering i Application Insights.

En skärmbild som visar inställningar för smart identifiering. De här inställningarna omfattar identifiering för långsamma sidinläsningstider, långsamma svarstider för servern med mera.

Du kan använda länken för att avbryta prenumerationen i e-postmeddelandet smart identifiering för att sluta ta emot e-postaviseringar.

E-postmeddelanden om prestandaavvikelser för smart identifiering är begränsade till ett e-postmeddelande per dag per Application Insights-resurs. E-postmeddelandet skickas bara om minst ett nytt problem har identifierats den dagen.

Hur kan jag förbättra prestandan?

Långsamma och misslyckade svar är frustrerande för webbplatsanvändare. Det är viktigt att åtgärda problemen snabbt. De åtgärder som ska utföras för att förbättra prestandan är:

  1. Sortera
  2. Diagnostisera
  3. Förbättra

Nu ska vi titta närmare på de här stegen när det gäller sidinläsningstider.

Sortera

När du tittar på problemet är det första att fråga: spelar det någon roll? Om en sida alltid är långsam att läsa in, men bara 1 % av webbplatsens användare någonsin tittar på den, är problemet låg prioritet. Å andra sidan, om endast 1 % av användarna öppnar sidan men det genererar ett undantag varje gång, är prioriteten hög. Använd effektöversikten (berörda användare eller procentandel av trafiken) som en allmän guide, men tänk på att påverkan inte är hela historien. Samla in andra bevis och ta hänsyn till problemets parametrar. Om problemet är beroende av geografi konfigurerar du tillgänglighetstester som omfattar regionen.

Diagnostisera långsamma sidinläsningar

När du diagnostiserar problemet kan du ställa dig följande frågor:

  • Var finns problemet?
  • Svarar servern långsamt?
  • Är sidan lång?
  • Måste webbläsaren göra mycket arbete för att visa den här sidan?

Om du undersöker webbläsarens svarstider öppnar du måttet Webbläsare . Den segmenterade visningen av webbläsarsidans inläsningstider visar vart tiden är på väg.

  • Om sändningstiden är hög svarar antingen servern långsamt eller så är begäran en POST med en stor mängd data. Titta på prestandamåtten för att undersöka svarstider.
  • Konfigurera beroendespårning för att se om fördröjningen beror på externa tjänster eller din databas.
  • Om Mottagande svar är dominerande är din sida och dess beroende delar – JavaScript, CSS, bilder och så vidare (men inte asynkront inlästa data)– långa. Konfigurera ett tillgänglighetstest och se till att ange alternativet för att läsa in beroende delar. När du får några resultat öppnar du informationen om ett resultat och expanderar det för att se inläsningstiderna för olika filer.
  • En hög klientbearbetningstid tyder på att skripten körs långsamt. Om orsaken inte är uppenbar kan du överväga att lägga till tidskod och skicka tiderna i trackMetric anrop.

Förbättra långsamma sidor

Här är några platser där du kan komma igång när du tänker på hur du kan förbättra långsamma sidor:

  • Långsam inläsning på grund av stora filer: Läs in skripten och andra delar asynkront. Använd paketering av skript. Dela upp huvudsidan i widgetar som läser in sina data separat. Skicka inte vanlig gammal HTML för långa tabeller. använd ett skript för att begära data som JSON eller annat kompakt format och fyll sedan tabellen på plats.
  • Långsamma serverberoenden: Överväg komponenternas geografiska platser. Om du till exempel använder Azure kontrollerar du att webbservern och databasen finns i samma region. Hämtar frågor mer information än de behöver? Skulle cachelagring eller batchbearbetning vara till hjälp?
  • Kapacitetsproblem: Titta på servermåtten för svarstider och antal förfrågningar. Om svarstiderna ökar oproportionerligt med toppar i antalet begäranden är det troligt att servrarna arbetar för hårt. Överväg att skala upp eller skala ut.

Försämrad serversvarstid

Ett meddelande om försämring av svarstid säger dig:

  • Svarstiden jämfört med den normala svarstiden för den här åtgärden.
  • Hur många användare som påverkas.
  • Genomsnittlig svarstid och 90:e percentilsvarstiden för den här åtgärden på identifieringsdagen och sju dagar tidigare.
  • Antal åtgärdsbegäranden på identifieringsdagen och sju dagar före.
  • Korrelation mellan nedbrytning i den här åtgärden och försämringar i relaterade beroenden.
  • Resurser som hjälper dig att diagnostisera problemet:
    • Profiler-spårningar hjälper dig att visa var driftstiden används (länken är tillgänglig om Profiler-spårningsexempel samlades in för den här åtgärden under identifieringsperioden).
    • Prestandarapporter i Metric Explorer, där du kan undersöka tidsintervall och filter för den här åtgärden.
    • Sök för att söka efter det här anropet för att visa specifika anropsegenskaper.
    • Felrapporter. Om antalet är större än 1 innebär det att det fanns fel i den här åtgärden som kan ha bidragit till prestandaförsämring.

Försämring av beroendevaraktighet

Om ditt program är starkt beroende av externa tjänster är det en bra idé att hålla utkik efter beroendeförsämring.

Här är ett exempel på ett meddelande om beroendeförsämring:

En skärmbild som visar ett meddelande om beroendeförsämring från Application Insights.

Detta säger dig:

  • Varaktigheten jämfört med normal svarstid för den här åtgärden.
  • Hur många användare som påverkas.
  • Genomsnittlig varaktighet och 90:e percentilvaraktighet för det här beroendet på identifieringsdagen och sju dagar innan.
  • Antalet beroendeanrop på identifieringsdagen och sju dagar före.
  • Resurser som hjälper dig att diagnostisera problemet:
    • Prestandarapporter i Metric Explorer för det här beroendet.
    • Sök efter det här beroendets anrop för att visa anropsegenskaper.
    • Felrapporter. Om det finns ett eller flera fel indikerar detta att det fanns misslyckade beroendeanrop under identifieringsperioden som kan ha bidragit till varaktighetsförsämring.
    • Öppna Analys med frågor som beräknar den här beroendevaraktigheten och antalet.

Smart identifiering av mönster med långsamma prestanda

Application Insights hittar prestandaproblem som bara kan påverka en del av dina användare eller bara påverka användare i vissa fall. Du kan till exempel se att långsamma sidinläsningar endast sker med en typ av webbläsare eller i ett visst geografiskt område.

Avvikelser som dessa är svåra att identifiera bara genom att inspektera data, men de är vanligare än du kanske tror. Ofta dyker de bara upp när dina kunder klagar.

Application Insights-algoritmer tittar på sidinläsningstider, svarstider för begäranden på servern och svarstider för beroenden. Du behöver inte ange några tröskelvärden eller konfigurera regler. Maskininlärnings- och datautvinningsalgoritmer används för att identifiera onormala mönster. Här är ett exempel på ett meddelande:

En skärmbild som visar smart identifiering i Application Insights.

I fältet När visas den tidpunkt då problemet upptäcktes.

Fältet Vad beskriver:

  • Problemet som upptäcktes.
  • Händelserna som ledde till problembeteendet.

Tabellen jämför den dåligt presterande uppsättningen med det genomsnittliga beteendet för alla andra händelser.

Välj länkarna för att öppna Metric Explorer och Sök för att hitta relevanta rapporter som filtreras efter tid och egenskaper för den långsamma prestandauppsättningen och ändra sedan tidsintervallet och filtren för att utforska telemetrin.