Rekommendationer för insamling av prestandadata
Gäller för den här Power Platform checklisterekommendationen för prestandaeffektivitet för välstrukturerat ramverk:
PE:04 | Samla in prestandadata. Arbetsbelastningskomponenter och flöden bör tillhandahålla automatiska, kontinuerliga och meningsfulla mått och loggar. Samla in data på olika nivåer av arbetsbelastningen, till exempel program-, plattforms-, data- och operativsystemnivåer. |
---|
Samla in prestandainformation genom att samla in mått och loggar som ger information om prestanda för en arbetsbelastning. Dessa data omfattar numeriska värden, så kallade mått. Mått beskriver tillståndet för systemet vid en viss tidpunkt. Prestandadata innehåller även loggar som innehåller olika typer av data som är ordnade i poster.
Genom att samla in prestandainformation kan du övervaka och analysera prestanda för en arbetsbelastning. Du kan använda den här informationen för att identifiera prestandaflaskhalsar, felsöka problem och fatta datadrivna beslut för att förbättra belastningens prestanda.
Utan datadrivna insikter kanske du förser dig med underliggande prestandaproblem eller möjligheter till optimering. Potentiella resultat kan vara svar tider, minskat genomflöde och slutligen en underoptimal användarupplevelse. Bristen på prestandainformation gör det dessutom svårt att diagnostisera och felsöka problem vid rätt tidpunkt, vilket leder till förlängda driftavbrott och försämrad produktivitet.
Definitioner
Begrepp | Definition |
---|---|
Aktivitetsloggar | Loggar som spårar hanteringsåtgärder på resurser, till exempel borttagning av en resurs. |
Programloggar | Loggar som spårar information om programhändelser, fel och andra aktiviteter, till exempel fel med inloggningar och databasanslutning. |
APM-verktyg (Application Performance Monitoring) | Ett verktyg som övervakar och rapporterar ett programs prestanda. |
Kodinstrumentering | Den direkta eller indirekta insamlingen av prestandamått utifrån programkodens perspektiv. Insamlade mått omfattar flödesmått, resursanvändning och mått som är specifika för språket eller körningen. |
Distribuerad spårning | Samla in och korrelera mätvärden över distribuerade arbetsbelastningskomponenter. |
Mottagare av nått | En lagringsdestination för dina mått som korrelerar data för tidsserier för analys. |
Plattformsloggar | Diagnostik- och granskningsdata som innehåller resursloggar, aktivitetsloggar och granskningsloggar. |
Plattformsmått | Numeriska värden som registrerar arbetsbelastningens prestanda vid en viss tidpunkt. |
Resursloggar | Data som ett system genererar. Den innehåller information om tillståndet i systemet. |
Strukturerad loggning | Definiera ett meningsfullt format för att logga meddelanden, vanligtvis som nyckel/värde-par. |
Viktiga designstrategier
För prestandaoptimering krävs data för att mäta aktuell prestanda för en arbetsbelastning eller ett flöde mot dess prestandamål. Du måste samla in rätt mängd data och mäta kodens och infrastrukturens prestanda mot prestandamålen. Se till att varje komponent och flöde i arbetsbelastningen automatiskt genererar kontinuerliga och meningsfulla mått och loggar. Du behöver hämta denna data från olika nivåer såsom program, plattform, lagring och operativsystem. En omfattande insamling av prestandadata gör det möjligt att förstå prestanda, vilket gör det möjligt att identifiera ineffektivitet och möjligheter till förbättring.
Centralisera prestandadata
Genom att centralisera prestandamått och loggar samlar du in prestandamått och loggar från olika källor och lagrar dem på en central plats. Skapa en central måttsänka och en central loggsänka. Den här centraliseringen gör det enkelt att komma åt, analysera och övervaka prestandamått och loggar över olika system och komponenter. Genom att centralisera mått och loggar får du insyn i arbetsbelastningens prestanda. Välj en lämplig plattform eller ett verktyg som kan sammanställa och lagra av arbetsbelastningens prestandamått och loggar.
Avvägning: Förstå kostnaden för att samla in mått och loggar. I allmänhet, ju fler mått och loggar du samlar in, desto högre blir kostnaden.
Prestandadata för segment
När du segmenterar prestandainformation sorterar och kategoriserar du mått och loggar baserat på deras ursprung, syfte eller miljö. Till exempel bör du separera produktionsdata från icke-produktionsdata eller skilja mellan prestandamål och affärsmått. Genom att segmentera data kan du optimera specifika miljöer, felsöka och minska felaktigheter i prestandaövervakningen. Genom att upprätthålla en tydlig skillnad mellan olika datatyper kan du samla in, analysera och svara på relevanta mått mer effektivt och justera arbetsbelastningens hälsa med arbetsbelastningens mål. För att segmentera resultatdata, överväg följande rekommendationer:
Se till att produktionsdata och icke-produktionsdata är separata. Genom att separera data efter miljö kan du säkerställa fokuserad övervakning och optimering av varje miljö. I produktionsmiljöer kan du identifiera och åtgärda prestandaproblem som direkt påverkar användare och affärsverksamhet. I icke-produktionsmiljöer underlättar dataseparering effektiv felsökning och finslipning under testfasen innan du distribuerar till produktion.
Använd en datauppsättning i varje miljö. Använd inte en uppsättning data för prestandamålen och en annan uppsättning data för aviseringar som är relaterade till prestandamålen. Om olika uppsättningar data används visas felaktiga aviseringar som visar hur effektiv prestandaövervakningen är.
Separera prestandamål och affärsmått. Verksamhets- och utvecklingsteamen använder prestandamål för att övervaka arbetsbelastningens hälsa och uppnå affärsmålen. Affärsmått relaterar till affärsmål eller kundrapportering. Samla in affärsmått i ett separat dataflöde även om data överlappar direkt. Den här avgränsningen ger flexibilitet att samla in rätt data och analysera dessa data oberoende.
Definiera kvarhållningsprinciper
Lagringsprinciper avgör hur länge prestandadata ska sparas. Om de här principerna upprättas går det att hantera lagringsutrymmet effektivt och det garanterar att endast nödvändiga data kan analyseras. Sådana principer stöder bättre prestanda och uppfyller efterlevnadsstandarder. Du bör konfigurera behållningspolicyer för logg- och metriska data för att möjliggöra effektiv felsökning och övervakning i alla miljöer. Loggarna och måtten kan exempelvis behöva sparas under längre tid i en produktionsmiljö än i testmiljön. Lagringsperioden bör matcha organisationens krav och regler för regelefterlevnad. Bestäm hur länge data ska lagras för analys- och granskningssyften. Arkivera de data som du inte behöver för omedelbar analys.
Samla in prestandadata
Insamling av data omfattar övervakning och analys av arbetsbelastningens prestandamått, t.ex. dataflöde, tidsfördröjning och slutförandetider, som primärt samlas in via instrumentkod. Data om arbetsbelastningens prestanda ger värdefulla insikter om ett programs hälsa och prestanda. Genom att övervaka och analysera prestandadata kan du identifiera och felsöka problem, optimera prestanda och fatta väl underbyggda beslut om arbetsbelastningen.
Instrumentkod
Instrumentering syftar på processen att infoga kodavsnitt eller åtgärder i din arbetsbelastningskod; till exempel att skapa anpassade spårningshändelser i din arbetsyteapp. Syftet med instrumentering är att samla in prestandainformation medan arbetsbelastningen körs. Det är viktigt att samla mått som framhäver arbetsbelastningens kritiska åtgärder. Fokusera på mätvärden som genomströmning, svarstid och slutförandetid Det är viktigt att skilja affärsrelaterade åtgärder från andra åtgärder. När det gäller data som är relaterade till affärsverksamhet bör du kontrollera att metadata är strukturerade på ett sätt som tillåter särskild spårning och lagring. Kodinstrumentering ger följande fördelar:
Identifiera prestandaflaskhalsar: Genom att spåra mätvärden som förfluten tid kan du identifiera flaskhalsar och optimera koden därefter.
Utvärdera systemfunktioner under en belastning: Du kan se hur arbetsbelastningen fungerar i olika stresscenarier. Med hjälp av dessa data kan du identifiera problem relaterade till skalbarhet, effektivitet och resursanvändning.
Spåraarbetsbelastningenhälsa och tillgänglighet: Eftersom KPI övervakas i realtid kan du få varningar om potentiella problem som påverkar programmets prestanda och tillgänglighet.
Förbättra användarupplevelsen: Du kan få insikter i hur användare interagerar med arbetsbelastningen. Använd den här informationen om du vill optimera användarupplevelsen och identifiera förbättringsområden.
Planera kapacitet och allokera resurser: De prestandainformation som instrumentationen samlar in kan ge värdefulla insikter om resurskraven för en arbetsbelastning. Denna information kan informera dina beslut om planeringskapacitet och allokering av resurser.
När du instrumentkodar för prestationsövervakning, överväg följande strategier:
Använd APM-verktyg: Med verktygen för programövervakning av prestanda (APM) samlas och analyseras prestandainformation, inklusive mått, spår och loggar. APM-verktyg har funktioner som instrument på kodnivå, transaktionsspårning och prestandaprofilering.
Anpassad instrumentation: Utvecklare kan lägga till anpassad kod för att samla in prestandamått som är unika för deras program och arbetsbelastning. Den anpassade instrumenteringen kan mäta körningar, spåra resursanvändning eller samla in specifika händelser.
Samla in transaktionstider. Att fånga transaktionstider handlar om att mäta fullständiga tider för viktiga tekniska funktioner som en del av prestandaövervakning. Mått på programnivå bör innehålla kompletta transaktionstider. Dessa transaktionstider bör omfatta viktiga tekniska funktioner som databasfrågor, svar för externa API-anrop och felfrekvens för bearbetningssteg.
Använd telemetristandarder. Överväg att använda APM-verktygsbibliotek och verktyg som bygger på en telemetristandard, till exempel OpenTelemetry.
Samla in prestandadata för resurser
Genom att samla in resursprestandainformation kan du få insikter om arbetsbelastningens hälsa och beteende. Resursprestandainformation innehåller information om resursanvändning, som är en viktig del i kapacitetsplaneringen. Dessa data ger också insikter om arbetsbelastningens hälsa och kan hjälpa dig att identifiera problem och felsöka. Föreställ dig följande rekommendationer:
Samla in mått och loggar för varje resurs. Varje tjänst har en uppsättning mått som är unika för resursens funktion. Dessa mått hjälper dig att förstå resursens hälsa och prestanda.
Använd plattformsverktyg. Samla alla inbyggda och integrerade övervakningslösningar som Azure Monitor Insights. Dessa verktyg effektiviserar prestandaåtgärder. Tänk på plattformsverktyg när du väljer en plattform och investerar i anpassade verktyg eller rapportering.
Övervaka nätverkstrafik. Övervakning av nätverkstrafiken innebär att spåra och analysera dataflöden och mönster när de förflyttas över nätverket. Samla in trafikanalys och övervaka trafiken som passerar undernätets gränser. Målet är att analysera och optimera nätverksprestanda.
Samla in databas- och lagringsdata
Många databas- och lagringssystem har sina egna övervakningsverktyg. Med de här verktygen kan du samla in prestandainformation som är specifik för dessa system. Databas- och lagringssystem genererar ofta loggar som innehåller prestandarelaterade händelser och indikatorer. Samla in databasdata och data om lagringsprestanda så att du kan identifiera flaskhalsar, diagnostisera problem och fatta välgrundade beslut för att förbättra den övergripande prestandan och tillförlitligheten för din arbetsbelastning. Överväg att samla in följande typer av prestandainformation:
Dataflöde: Dataflöde mäter mängden data som läses från eller skrivs till lagringssystemet under en tidsperiod. Dataflöde anger dataöverföringsfunktionerna.
Svarstid: Svarstid mäter hur länge lagringsåtgärderna varar. Svarstidsdata indikerar lagringssystemets reaktionsförmåga.
IOPS (I/O-åtgärder per sekund): Data om antalet läsåtgärder eller skrivåtgärder som lagringssystemet kan utföra på en sekund. IOPS-data indikerar lagringssystemets genomströmning och lyhördhet.
Kapacitetsanvändning: Kapacitetsanvändning är mängden använd lagringskapacitet och det tillgängliga beloppet. Kapacitetsanvändningsdata hjälper organisationer att planera för framtida lagringsbehov.
Samla in anslutningsprestandadata
Tid som ägnas åt att vänta på att integrerade tjänster ska slutföras kan bidra till den övergripande dåliga prestandan för en arbetsbelastning. Om din arbetsbelastning använder anslutningar för att integrera tjänster, överväg att mäta tiden som spenderas i varje anslutningsåtgärd för att utvärdera dess inverkan och bestämma om du ska optimera din arbetsbelastningsdesign. Beroende på tjänsten kan du använda körhistorik eller anpassad logik för att registrera tid som spenderas i anslutningsåtgärder.
Verifiera och analysera data
Dina prestandadata bör justera med prestandamålen. Data måste representera arbetsbelastningens eller flödets prestanda fullständigt och korrekt i förhållande till prestandamålen. Till exempel har svarstiden för en webbtjänst ett prestandamål på 500 millisekunder. Gör det till en rutin att analysera data eftersom det med upprepade utvärderingar går att identifiera och åtgärda prestandaproblemen tidigt.
Skapa aviseringar. Det är viktigt att det finns varningar som kan användas, vilket gör det möjligt att identifiera och identifiera prestandaproblem snabbt. Dessa aviseringar bör tydligt ange det överskridna tröskelvärdet för prestanda, den potentiella affärseffekten och de inblandade komponenterna. Börja med att ange vanliga och rekommenderade aviseringar. Med tiden kan du ändra villkoren utifrån dina specifika behov. Det primära målet med dessa aviseringar bör vara att göra en prognos för potentiell prestanda innan de eskalerar till allvarliga problem. Om du inte kan ställa in en avisering om ett externt beroende kan du överväga att ta fram en metod för att samla in mätbara mått, till exempel varaktigheten för ett beroendeanrop.
Ange begränsningar för datainsamling. Bestäm och ställ in logiska gränser för mängden data du samlar in och hur länge den lagras. Telemetri kan ibland producera överväldigande mängder data. Det är viktigt att fokusera på att bara samla in de mest relevanta prestandaindikatorerna eller ha ett effektivt system på plats för att extrahera meningsfulla insikter från dina prestandadata.
Underlätta Power Platform
Samlar in data om programprestanda: Application Insights är en funktion i Azure Monitor som hjälper dig att övervaka prestanda och tillgänglighet för ditt program. Data lagras i Azure Monitor-loggar av Application Insights och visualiseras i panelerna Prestanda och fel. Uppgifterna exporteras till din Application Insights miljö i det standardschema som definieras av Application Insights. Du kan exportera Dataverse och Power Automate-data till Application Insights, ansluta dina arbetsyteappar till Application Insights och samla in telemetridata från din Microsoft Copilot Studio-agent för användning i Azure Application Insights.
Application Insights låter dig välja datavyerna Server och Webbläsare. Genom att identifiera de åtgärder som har längst varaktighet kan du diagnostisera potentiella problem.
Använd inbyggda plattformsfunktioner för att analysera prestanda:Analyser i Copilot Studio ger en omfattande översikt över agentens prestanda. Den använder artificiell intelligens (AI)-teknik för att identifiera vilka ämnen som har störst inverkan på eskaleringsfrekvensen, avhoppsfrekvensen och stängningsfrekvensen. Prestationsinsikter för Power Apps analyserar användardata för runtime och ge en prioriterad lista med rekommendationer som hjälper till att förbättra prestandan hos modelldrivna appar.
Centralisera, segmentera och lagra prestandadata: Microsoft samlar redan in omfattande telemetri för Dataverse, Power Automate, molnflöden och modellbaserade appar. Med Application Insights-integration, en miljö eller klientadministratör tillhandahåller Application Insights-instrumentationsnyckel när du ställer in dataexportprocessen i Power Platform administrationscenter. Så snart installationen är klar, telemetri som Microsoft samlar om din miljö skickas till din Application Insights-miljö. När du använder Application Insights integration får du en standardiserad uppsättning telemetri som följer Application Insights telemetri datamodell. Utöver denna integration kan du också ansluta arbetsyteappar till Application Insights och samla in telemetridata från din Microsoft Copilot Studio-agent för användning i Azure Application Insights.
Samla in prestandadata för Azure-resurs: De flesta Azure-tjänster genererar plattformsloggar och mått som ger diagnostik- och granskningsinformation. Genom att aktivera diagnostikinställningar kan du ange vilka plattformsloggar och mått som ska samlas in och lagras. Aktivera diagnostik för alla tjänster som stöds och skicka loggarna till samma destination som dina programloggar.
Samla in prestandadata för databas:Microsoft Dataverse integrerar med Application Insights. Dataflödet tillhandahåller för närvarande prestandadata relaterade till Dataverse API inkommande anrop, Dataverse plugin-körningsanrop och Dataverse SDK-anrop. Om du vill få meddelanden om problem ställer du in aviseringar baserat på prestandattröskeln.
Verifiera och analysera prestandadata: I Azure Monitor kan du använda Azure Monitor-loggar för att samla in, analysera och visualisera loggdata från dina program och system. Genom att aggregera loggar kan du korssöka händelser och få insikter om prestanda för din program. Mer information finns i Azure Monitor-loggar, kostnadsberäkningar och alternativ** och Prissättning för Azure Monitor.
I Azure Monitor kan du definiera aviseringsregler för att övervaka specifika prestandamått och utlösa aviseringar baserat på fördefinierade villkor. Du kan till exempel skapa en aviseringsregel som meddelar dig när svarstiden går över en angiven gräns. Konfigurera aviseringsregeln så att meddelanden skickas till önskade mottagare.
När du skapar en aviseringsregel kan du definiera kriterierna som avgör när en avisering ska utlösas. Du kan ange tröskelvärden, samlingsmetoder, tidsfönster och utvärderingsfrekvens. Definiera kriterierna baserat på dina krav på prestandaövervakning. Förutom att skicka meddelanden kan du ange åtgärder som ska vidtas när en avisering utlöses. Åtgärderna kan omfatta att skicka e-postmeddelanden, ringa webhooks eller köra Azure Functions. Välj lämpliga åtgärder som ska uppfylla det specifika aviseringsscenariot.
Exempel
- Enterprise-övervakning med Azure Monitor
- Skapa anpassade spårningshändelser i arbetsyteappar
- Skapa anpassade aviseringar för molnflöden
- Analysera agentprestanda och -användning i Copilot Studio
Checklista för prestandaeffektivitet
Se den fullständiga uppsättningen med rekommendationer.