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
- Klientmiljö
- Användningsmönster
- Sidprestanda
- Anpassning
- Konfiguration
- Nätverk Eftersom appens prestanda kan påverkas av olika faktorer, kategoriserar prestationsinsikter områden för att kontrollera hur mycket prestandakostnader som orsakas av.
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.
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.
Gå till din modellbaserade app, till exempel https://contoso.crm.dynamics.com.
Ä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.
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
- Ställ in KeepAlive på false när du interagerar med externa värdar i ett plugin-program.
- Ställ in Timeout uttryckligen när du ringer externa samtal i ett plugin-program.
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.
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.