Förstå insikter (förhandsgranskning)

[Det här ämnet är en förhandsversion av dokumentationen och kan ändras.]

Prestationsinsikter fördelar insikter i följande kategorier:

Prestanda

Denna insikt sammanfattar appens övergripande prestanda som en sammanfattning under Insight ID Perf.Summary.Overview.

I denna insikt kan du se den totala prestandan för din app baserat på svårighetsgraden.

  • Kritisk: Anger prestanda för prestanda.
  • Varning: Anger att prestanda kan förbättras.
  • Information: Anger bra prestanda.

Så här blir du bättre

När det är dags att optimera appen kan du titta på detaljerade insikter från klienten, nätverket, anpassningskategorierna samt plugins, sparade frågor och inställningar. Vissa åtgärder som kan användas kan härledas genom att granska dessa insikter.

Klientmiljö

När användare upplever en Power Apps app på sina enheter kan flera faktorer påverka prestanda som webbläsartyp, webbläsarversion och specifikation av hårdvara. I det här avsnittet kan du se vilken insikt som kontrollerar klientmiljöer.

Webbläsartyp

Insikts-ID: Perf.Environment.Client.Browser.Type

Motivation

Vissa typer av webbläsare kan påverka appens prestanda. Att använda webbläsare som inte stöds eller inte kan leda till långsam prestanda. Denna insikt ger prestandakonsekvenser för olika webbläsare, särskilt icke-rekommenderade webbläsare. Till exempel, Power Apps har upphävt sitt stöd för Internet Explorer.

Så här blir du bättre

Om du har användare på gamla webbläsare som Internet Explorer, byt till en modern Chromium-baserad webbläsare. Vi rekommenderar att användare kör en modern webbläsare, t.ex.Microsoft Edge eller Google Chrome.

Anteckning

Vissa äldre applikationer som använder NPAPI fungerar bara på Internet Explorer.

Webbläsarversion

Insight ID: Perf.Environment.Client.Browser.Version

Motivation

Denna insikt kontrollerar hur många användare som använder din app från en gammal version av en webbläsare. Även när användare kör moderna webbläsare och inte icke-rekommenderade webbläsartyper som Internet Explorer, så fungerar äldre versioner av webbläsare långsammare.

Så här blir du bättre

Användare bör regelbundet uppdatera webbläsaren till den senaste versionen. Företagskunder kan tillämpa en grupppolicy för att vara i en specifik version. Eftersom Unified Service Desk (USD) också använder datorns standardinställning för webbläsare, kräver det också att man kontrollerar standardwebbläsartyp och version.

Minsta systemkrav

Insight ID: Perf.Environment.Device.MimimumRequirements

Motivation

Denna insikt kontrollerar om användarens miljö uppfyller minsta systemkrav. Du kan kontrollera webbapplikationskraven för att se vilka minsta systemkrav som är beroende av apptyp.

I allmänhet sker vissa aktiviteter som rendering, skript och nedladdning av innehåll på klientsidan. Det är nödvändigt att uppfylla minimisystemkraven för sådana aktiviteter.

Så här blir du bättre

Användare bör använda hårdvaran som uppfyller eller överträffar minimikraven för system för Power Apps.

HTTP-protokoll

Insight ID: Perf.Environment.Client.Browser.HttpProtocol

Motivation

Power Apps plattform stöder HTTP/2. Om din app använder HTTP/1.1-protokollet för XMLHttpRequest (XHR) -förfrågningar till Power Apps, kan det orsaka långsam prestanda på grund av samtidig begränsning av förfrågningar med HTTP/1.1-protokollet.

Så här blir du bättre

Om denna insikt identifierade vissa användare som använder HTTP/1.1-protokollet, rekommenderar vi starkt att dessa användares klienter stöder HTTP/2-protokollet.

Flera konfigurationer och nätverksinfrastruktur kan blockera HTTP/2-protokollet, till exempel ett VPN-nätverk, proxyserver eller enhetsinternetinställningar.

Användare kan kontrollera vilket protokoll som har använts från ett utvecklingsverktyg som ingår i webbläsaren. I figuren nedan inträffade nätverkssamtal via HTTP/2.

Exempel på HTTP 2-nätverkssamtal.

Om spårningen av nätverksprotokollet anger HTTP/1.1 kan det bero på följande:

  • Internetinställningar: Fliken Avancerat för Windows Internet-alternativ på Kontrollpanelens alternativ Använd HTTP2 och Använd TLS 1.2 är inte aktiverade.
  • VPN och proxy: Även om Windows Internet-alternativet är inställt på att använda HTTP2 och TLS 1.2 kan webbläsaren gå tillbaka när en VPN- eller proxytjänst inte stöder de senaste protokollen.

Användningsmönster

Denna kategori analyserar typen av sidladdningar. En varm sidladdning gör sidan med cacheminnet och befintliga DOM-objekt, medan en kall sidladdning gör sidan ny genom att ladda ner resurser vid behov. Även om användarna inte kommer att skilja på typen av sidladdning analyserar denna insikt och ger rekommendationer beroende på vilken typ av sidladdningar som förekommer hos klienten.

Sidladdningstyp

Insight ID: Perf.Performance.PageLoadType

Motivation

Varma sidladdningar är snabbare än kalla sidladdningar eftersom nödvändiga resurser laddas ur lokala cacheminnen.

Anteckning

När en användare öppnar ett formulär från en ny flik eller en ny flik i en webbläsare betraktas det som en kall sida. När en användare öppnar andra formulär i appen i den aktiva fliken i en webbläsare anses det vara en varm sidladdning.

Så här blir du bättre

För att uppleva varma sidladdningar för snabbare prestanda, minimera att öppna nya flikar eller webbläsarfönster. Försök att hålla aktiviteter på en enda flik istället för att öppna nya flikar eller webbläsarfönster. Vi rekommenderar också att du inte kör webbläsaren i InPrivate- eller inkognitoläge.

Sidprestanda

Många förstapartsmodelldrivna appar består av en instrumentpanel, vyer (EntityList) och form när det gäller sidtyp. Som standard laddar användare en instrumentpanel, även om apptillverkare och administratörer kan ändra detta. Om en instrumentpanel innehåller många diagram och brickor kan det leda till att instrumentpanelen laddas långsamt. På samma sätt, om EntityList och formulär anpassas för att lägga till många kolumner och visa många poster, kan det också göra att sidan laddas långsamt. Därför kan det vara fördelaktigt att kontrollera prestanda per sida och per tabell eftersom prestanda för sidbelastning kan ha olika orsaker.

I det här avsnittet kan du se flera insikter relaterade till sidprestanda.

Långsamma instrumentpaneler

Insight ID: Perf.ModelDriven.Page.Dashboard.SlowSQLQuery

Motivation

Långsamma SQL-frågor eller användning av för många diagram och brickor i en instrumentpanel kan orsaka dålig prestanda för instrumentpanelen. Den här insikten pekar på instrumentpanelerna som påverkas av långsamma SQL-frågor. När denna insikt registreras innehåller informationsfönstret instrumentbrädan ID för varje instrumentbrädan ingår i insikt.

Så här blir du bättre

Så här letar du upp namnet på instrumentpanelen med instrumentpanel-ID: t. Sedan kan du bestämma vilka instrumentpaneler som ska övervägas för redesign.

  1. Gå till din modellbaserade app, till exempel https://contoso.crm.dynamics.com.

  2. Ändra webbadressen som visas i detta exempel (https://contoso.dynamics.com/api/data/v9.1/systemforms[DashboardId]/namn) genom att lägga till api/data/v9.1/systemforms[DashboardId]/namn till appens URL.

  3. Du kommer att få OData-begäran som liknar nedan. Agent Dashboard som visas nedan representerar det användarvänliga namnet på det angivna instrumentpanel-ID: t.

    {"@odata.context":https://contoso.crm.dynamics.com/api/data/v9.1/$metadata#systemforms(2ff4a8cf-378b-e811-a964-000d3a30dc0a)/name,"value":"Contoso - Agent Dashboard"}

Synkrona plugin-program med långsamma externa samtal

Insight ID: Perf.Sandbox.Performance.Plug-ins.ExternalCall

Plugin-program och anpassade arbetsflödesaktiviteter kan komma åt webbtjänster (externa slutpunkter) via HTTP- och HTTPS-protokoll. Om dessa externa tjänster fungerar långsamt kommer själva plugin-programmet att ta timeout eller utföra långsamt.

Motivation

Denna insikt kontrollerar prestanda för de externa slutpunkterna och upptäcker plugin-program i din app som påverkas av de långsamma externa samtalen.

Så här blir du bättre

Mer information: Få åtkomst till externa webbtjänster (Microsoft Dataverse) – Power Apps | Microsoft Dokument.

Anpassning

Tillverkare kan göra många olika anpassningar med modelldrivna appar, till exempel:

  • Ta in anpassade JavaScript-funktioner för att aktivera händelser på klienten.
  • Skapa och distribuera plugin-program som används för att utföra anpassad logik.
  • Definiera och lagra anpassade tabeller och data.
  • Definiera beroende komponenter för både anpassade och standardtabeller, såsom formulär och vyer.

Ur ett prestationsperspektiv kan alla dessa anpassningar orsaka dåligt appsvar i situationer där anpassningen inte följer bästa praxis och rekommendationer. Tillverkare kan köra Solution Checker för att validera sina anpassningar under utvecklingsfasen.

Följande insikter ger också analytiska resultat av runtime-användardata för din anpassning.

XML HTTP-begäran (XHR) samtalstyp

Insight ID: Perf.ModelDriven.Customization.Client.Script.XMLHttpRequestType

Synkrona XMLHttpRequest-samtal kan orsaka allvarliga prestandaproblem för slutanvändare, särskilt när nätverket är långsamt eller det finns flera samtal som behöver göras. Webbläsaren fryser upp och slutanvändaren är frustrerad när de inte kan klicka, bläddra eller interagera med sidan.

Denna insikt avslöjar om det finns synkrona metoder och indikerar relaterad prestanda.

Motivation

Synkrona XHR-samtal kommer att hindra webbläsaren från att utföra mer arbete eftersom webbläsaren måste vänta tills det synkrona samtalet har slutförts, vilket gör att sidan saktar ner eller fryser helt.

Så här blir du bättre

Vi rekommenderar att du ändrar de bästa metoderna som nämns i datasektionen för insikten från synkron till asynkron. Mer information: Dina modellbaserade appar från och med övergången från synkrona begäranden

Föråldrade kontroller

Insight ID: Perf.Customization.Controls.Deprecated

Några äldre kontroller för modelldrivna appar som Flip Switch, Calendar Control (V1), Linear Reglage, Radial Knob, Arc Knob, Linear Gauge; tillsammans med kontrollen av förhandsversion av webbplatsen är MultiSelectPicklistControl (V1) och Flip-etiketten utfasad. Några av dessa kontroller kan ersättas med de nya kontrollerna, som är mer i linje med den moderna webben och mobilen i åtanke. Mer information: Nya modellbaserade appar-kontroller, avfasning av gamla kontroller

Motivation

Att använda föråldrade kontroller kan orsaka prestanda, tillförlitlighet och tillgänglighetsproblem. Dessutom har några av begränsningarna i dessa föråldrade kontroller lösts med de nya kontrollerna. Till exempel använder Växla-kontrollen och Calendar Control (V2) Microsoft Fluent UI.

Så här blir du bättre

  • Använd Växla-kontrollen som ersättning för Vänd etikett och Växlingsknapp.
  • Använd Calendar Control (V2) som en ersättning för Calendar Control (V1).
  • Utvärdera andra föråldrade kontroller för att avgöra om de fortfarande är användbara i befintliga former.

Observera att det finns få betydande designförändringar mellan den föråldrade versionen och de nya kontrollerna.

Mer information om de föråldrade kontrollerna finns i Modellbaserad appstyrning av utfasning.

Sandbox-prestanda – dominerande plugin-program

Insight ID: Perf.Sandbox.Performance.Plug-ins.Dominant

Denna insikt hjälper oss att identifiera den dominerande plugin-modulen, eller med andra ord, den som används mest. Det kommer också att indikera om någon av de dominerande använda plug-insna utförs långsamt med en plugin-exekveringstid på mer än 100 millisekunder i 95: e percentilen. Denna insikt kommer att lista upp till tre dominerande plugin-program.

Motivation

Långsamt dominerande plugin-program påverkar prestanda. Dessa plug-ins bör undersökas.

Så här blir du bättre

Mer information om plugin-program som fungerar långsamt. Läs om metodtipsen för plugin-program och arbetsflödesutveckling.

För att ytterligare undersöka det långsamma plugin-programmet kan du ställa in inställningarna för Plug-in-spårningsloggen till Alla i din utvecklings- eller testmiljö och bestämma var förseningen är. Glöm inte att inaktivera inställningen innan du går i produktion. Mer information: Spårning och loggning

Mer information om plugin-program som fungerar långsamt. Några av orsakerna till långsamma plugin-program beskrivs här:

  • Associerade SQL-frågor utfördes långsamt, varför plug-in-körningstiden ökade.
  • Följ principen om ett enda ansvar för ditt plugin-program och gör inte transaktioner med betydande transaktionsgränser.
  • Plug-in kan göra några externa samtal, som är långsamma.
  • Plugin-logik är inte optimerad för miljöer med flera trådar. Kontrollera din kod.

För att ytterligare undersöka det långsamma plugin-programmet kan du ställa in inställningarna för Plug-in-spårningsloggen till Alla i din utvecklings- eller testmiljö och bestämma var förseningen är. Glöm inte att inaktivera inställningen innan du går till produktion. Mer information: Spårning och loggning

Sparad fråga med ledande jokertecken

Insight ID: Perf.ModelDriven.Customization.SavedQuery.LeadingWildCard

Ledande jokertecken är som eller inte villkor som använder ett jokertecken (%) i början av en söksträng. Ett exempel på en dåligt skriven begäran är:

<fetch version="1.0" output-format="xml-platform" mapping="logical"> 
    <entity name="account"> 
        <attribute name="accountid" /> 
        <attribute name="accountnumber" /> 
        <filter type="and"> 
            <condition attribute="accountnumber" operator="like" value="%124" /> 
        </filter> 
    </entity> 
</fetch>

Motivation

En ledande jokertecken (%) i en sparad fråga kan få frågan att ta timeout eller utföra långsamt. Denna insikt pekar på sådana långsamma sparade frågor med ledande jokertecken.

Så här blir du bättre

Undvik att använda ledande jokertecken. I söknyckeln översätts dessa till "innehåller" i SQL Server, vilket inte drar nytta av indexsökning men gör en genomsökning. Om det är nödvändigt att använda ett ledande jokertecken begränsar du sökningens omfattning genom att inkludera andra villkor. Observera att det är ok att använda efterföljande jokertecken (%) i slutet av söksträngarna.

Konfiguration

Inställning för plug-in-spårning

Insight ID: Perf.Sandbox.Configuration.PluginTraceSettings

Tillverkare kan felsöka sina plug-ins via plug-in spårningsloggar. Dataverse administratörer kan ställa in plugin-program och anpassad spårning av arbetsflödesaktivitet till Av, Undantag eller Alla.

Inställningar för spårningslogg för plug-in.

Motivation

Plug-in-spårningsloggen ska bara ställas in på Alla när du felsöker eller justerar plugin-programmet. Hög volym spårning kan orsaka I/O-omkostnader med SQL Server. Dessutom kan radering av plugin-spårningsloggen orsaka blockering eller väntan med SQL Server.

Så här blir du bättre

I din produktionsinstans om den här inställningen är Alla och volymen av loggar som genereras av ditt plugin är hög, överväga att ändra den till Undantag.

Om du vill ändra inställningen går du till fliken Inställningar > Administration > Systeminställningar > Anpassning. Mer information: Loggning och spårning

Nätverk

Nätverksprestanda

Nätverkslatens och genomströmning är viktiga faktorer som påverkar slutanvändarens upplevelse. Användare med hög latens och låg genomströmning kommer mer sannolikt att uppleva långsam prestanda när de öppnar Unified Interface. Denna insikt berättar hur många användare som har ett nätverk med dåligt resultat och hur deras prestanda var.

Motivation

Dålig nätverkskonfiguration påverkar appens prestanda.

Så här blir du bättre

Om det finns många användare i nätverket och prestandan är dålig rekommenderar vi att användarna byter till ett bättre nätverk.

Se även

Vad är prestationsinsikter?