Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Dette gælder for denne kontrolliste til den velopbyggede Power Platform ydeevneeffektivitetsanbefaling:
PE:06 | Brug logik, der er effektiv, og sørg for, at den overfører ansvarsområder til platformen. Brug kun logik til det tilsigtede formål og kun, når det er nødvendigt. |
---|
Denne vejledning beskriver anbefalingerne til optimering af kode- og infrastrukturydeevnen. Hvis du vil optimere koden og infrastrukturen, skal du kun bruge komponenterne til deres primære formål, og kun når det er nødvendigt. Når du overforbruger kode og infrastruktur, skaber det unødvendigt ressourceforbrug, flaskehalse og langsomme svar. Hvis du vil kompensere for denne ineffektivitet, skal du tilføje flere ressourcer for at udføre de samme opgaver.
Definitioner
Begreb | Definition |
---|---|
Samtidighed | Når flere opgaver eller processer udføres på én gang, men ikke nødvendigvis på nøjagtig samme tid. |
Parallelitet | Når der udføres flere opgaver eller processer på samme tid. |
Vigtigste designstrategier
Optimering af logik og infrastruktur indebærer finjustering af logikken og den understøttende infrastruktur for at forbedre ydeevneeffektiviteten. Det kræver effektiv logik, der udfører opgaver hurtigt og ikke spilder ressourcer. Det kræver en veldesignet infrastruktur, der er strømlinet for at undgå unødig kompleksitet. En arbejdsbelastning skal bruge platformens iboende funktioner. Denne fremgangsmåde er med til at sikre, at både logik og infrastruktur primært bruges til deres kerneformål og kun når det er nødvendigt.
Optimere ydeevnen af logik
Du kan optimere den logiske ydeevne ved at ændre koden for at reducere ressourceforbruget, minimere kørselstiden og forbedre ydeevnen. Du kan ændre logik for at forbedre effektiviteten og hastigheden i en app eller et flow. Masker ikke ydelsesproblemer med rå styrke. Rå styrke betyder at tilføje beregningsressourcer for at kompensere for kodens ydeevne, som at tilføje ekstra kapacitet i stedet for at adressere kilden. Du skal løse ydelsesproblemer med optimering. Når du optimerer logisk ydeevne, hjælper det med at maksimere udnyttelsen af systemressourcer, forbedrer svartiden, reducerer ventetiden og forbedrer brugeroplevelsen.
Instrumentér din logik
Instrumentlogik henviser til den praksis, der bruges til at tilføje brugerdefineret hændelseslogføring for at indsamle data og overvåge logikkens ydeevne under kørsel. Logisk instrumentering giver udviklere mulighed for at indsamle oplysninger om vigtige målepunkter, f.eks. udførelsestid. Ved hjælp af instrumentlogik kan udviklere få indsigt i logiske genveje, identificere flaskehalse i ydeevnen og optimere logikken for at opnå en bedre ydeevneeffektivitet.
Ideelt set bør du udføre logikanalyse tidligt i softwareudviklingens livscyklus. Jo tidligere du fanger et logisk problem, jo billigere er det at rette. Du vil automatisere så meget af denne logikanalyse som muligt. Brug dynamiske og statiske kodeanalyseværktøjer til at reducere den manuelle indsats. Flow Checker kan f.eks. fremhæve logik, der ikke forventes at være effektiv, som en forespørgsel, der ikke angiver filterkriterier. Husk dog, at denne test stadig er en simulering af produktionen. Produktion giver den klareste forståelse af optimering af logik.
Tradeoff: Værktøjer til overvågning af logik vil sandsynligvis øge omkostningerne.
Identificer hot paths
Ved at instrumentere din logik kan du måle ressourceforbruget for forskellige logikstier. Disse målinger hjælper dig med at identificere kritiske stier. Kritiske stier har en betydelig indvirkning på ydeevne og ressourceforbrug. De er kritiske eller ofte udførte sektioner af et program, der kræver høj ydeevne og lav ventetid.
Overvej disse trin for at identificere kritiske stier i koden:
Analysér kørselsdata: Indsaml kørselsdata, og analysér dem for at identificere de områder i logikken, der bruger længst tid. Se efter mønstre eller sektioner af logik, der ofte udføres, eller som tager lang tid at fuldføre.
Mål ydeevne: Brug profileringsværktøjer eller rammer for ydeevnetest til at måle udførelsestiden og ressourceforbruget for forskellige logikstier. Denne proces hjælper med at identificere flaskehalse og områder, der kan forbedres. Du kan f.eks. bruge Overvåg i Power Apps for at få en bedre forståelse af, hvordan hændelserne og formlerne i appen fungerer, så du kan forbedre ydeevnen.
Overvej forretningslogik og brugereffekt: Evaluer betydningen af forskellige logikstier baseret på deres relevans for programmets funktionalitet eller kritiske forretningsdrift. Fastlæg, hvilke logikstier der er afgørende for at levere værdi til brugerne eller for at opfylde krav til ydeevne.
Optimer logik
Optimering af logik handler om at forfine strukturen og designet af logik til at udføre opgaver med færre ressourcer. Forbedret logik reducerer unødvendige handlinger. Det skaber hurtigere eksekvering med mindre ressourceforbrug. Du bør fjerne alle unødvendige handlinger i logikstien, der kan påvirke ydeevnen. Prioriter optimering af kritiske stier for at opnå de største effektivitetsgevinster for ydeevnen.
Hvis du vil optimere logikken, skal du overveje følgende strategier:
Fjern unødvendige funktionskald: Gennemgå din logik, og identificer eventuelle funktioner, der ikke er vigtige for den ønskede funktionalitet, og som kan påvirke ydeevnen negativt. Hvis et funktionskald f.eks. udfører en validering, der er fuldført tidligere i koden, kan du fjerne det unødvendige valideringsfunktionskald.
Minimer logføringshandlinger: Logføring kan være nyttig i forbindelse med fejlfinding og analyse, men overdreven logføring kan påvirke ydeevnen. Evaluer nødvendigheden af hver logføringshandling, og fjern alle unødvendige logføringskald, der ikke er vigtige for ydeevneanalysen. En god fremgangsmåde er at lade dit system slå logføring til og fra for at hjælpe med fejlfinding uden at forårsage problemer med produktionsydelsen.
Optimer løkker og betingelser: Analysér løkker og betingelser i din logik, og identificer eventuelle unødvendige gentagelser eller betingelser, der kan elimineres. Forenkling og optimering af disse strukturer kan forbedre kodens ydeevne. Minimer funktionskald i løkker, og eliminer overflødige beregninger. Overvej at flytte beregninger uden for løkken.
Reducer unødvendig databehandling: Gennemgå din logik for at se, om der er unødvendige databehandlingshandlinger, f.eks. overflødige beregninger eller transformationer. Fjern disse unødvendige handlinger for at forbedre effektiviteten af din logik. Du kan f.eks. bruge Dataverse beregnede kolonner, akkumuleringsfelter eller Power Fx kolonner i stedet for at beregne værdien i kode og gemme den med en lagringshandling.
Optimere datastrukturer. Hvis du vil gemme og hente data effektivt, skal du vælge de relevante datastrukturer og kun de påkrævede datakolonner. Vælg den bedste datastruktur til et bestemt problem. En passende datastruktur forbedrer applikationens ydeevne.
Minimer netværksanmodninger: Hvis din logik omfatter netværksanmodninger (f.eks. ved hjælp af en connectorhandling), skal du minimere antallet af anmodninger og optimere brugen af dem. Batchanmodninger, når det er muligt, og undgå unødvendige rundrejser for at forbedre ydeevnen.
Reducer størrelsen: Gennemgå datakravene, og fjern unødvendige felter eller egenskaber. Optimer hukommelsesforbruget ved at vælge passende datatyper og pakke data effektivt.
Udfør arbejde asynkront: Vurder, om arbejdet kan udføres asynkront i stedet for synkront i logikken. I stedet for at udføre handlingen indbygget kan du f.eks. overveje at implementere et Power Automate flow for at behandle arbejdet asynkront.
Konfigurer før tilpasning. Brug standardprogramkomponenter, hvis du kan. Tilpasninger som plug-ins og JavaScript kan påvirke ydeevnen.
Minimer kontrolelementer. Vis kun de felter, du skal bruge i formularerne – for mange felter kan fylde brugergrænsefladen og påvirke ydeevnen. Minimer antallet af kontrolelementer på kommandolinjen, lærredappen eller den brugerdefinerede side. Undgå at indlejre gallerier eller føje for mange komponenter til et galleri.
Optimer dataforespørgsler. Indlæs kun de data, du skal bruge, i en app eller et flow. Brug visninger på serversiden til at forudfiltrere data for at indsnævre data, der er relevante for forespørgslen.
Gennemgå de anbefalinger til ydeevne, der er specifikke for det Power Platform-produkt, du arbejder med. Evaluer din logik i forhold til disse anbefalinger for at identificere områder, der kan forbedres.
Få mere at vide om retningslinjer for Power Automate-kodning og retningslinjer for Power Apps-kodning, der kan hjælpe dig med at optimere logikken.
Tip
Brug Power CAT-værktøjssættet til at udføre kodegennemgange. Værktøjssættet indeholder mange af kodningsretningslinjerne fra denne dokumentation, hvilket sikrer, at dine løsninger er effektive og vedligeholdelige. Værktøjssættet markerer automatisk eventuelle mønstre, der ikke overholder disse bedste fremgangsmåder, så du kan løse potentielle problemer tidligt i udviklingsprocessen. Denne proaktive tilgang forbedrer kvaliteten af din kode og hjælper med at strømline gennemgangsprocessen, hvilket gør det nemmere at opretholde høje standarder på tværs af dine projekter. Integration af Power CAT Toolkit i din udviklingsarbejdsgang sikrer, at dine løsninger er bygget på et solidt fundament og fører til mere pålidelige og skalerbare løsninger.
Tradeoff: Optimering af logik og varme stier kræver ekspertise. At identificere logisk ineffektivitet er subjektivt og kan kræve højt kvalificerede personer, som du muligvis skal trække fra andre opgaver.
Brug samtidighed og parallelitet
Brug af samtidighed og parallelisme indebærer udførelse af flere opgaver eller processer enten samtidigt eller på en overlappende måde for at udnytte computerressourcerne effektivt. Disse teknikker øger det samlede gennemløb og antallet af opgaver, som en arbejdsbelastning kan behandle. Når du kører opgaver samtidigt eller parallelt, kan det reducere programmets kørselstid og øge svartiderne.
Samtidighed og parallelitet fordeler arbejdsbelastningen effektivt mellem computerressourcerne. Når du øger samtidigheden eller paralleliteten, skal du overveje indvirkningen på andre systemer, da du kan overskride deres grænser. En samtidig løkke i et Power Automate flow, der behandler hvert element ad gangen, kan f.eks. overskride anmodningsgrænserne for en connector, der bruges i løkkens logik.
Brug parallelitet. Parallelisme er et systems evne til samtidig at udløse flere opgaver eller processer på flere computerressourcer. Parallelitet opdeler en arbejdsbelastning i mindre opgaver, der køres parallelt. Når du kører logik parallelt, forbedres ydeevnen, fordi arbejdsbelastningen fordeles over flere forgreninger.
Brug samtidighed. Samtidighed er et systems evne til at køre flere opgaver eller processer. Samtidighed gør det muligt for forskellige dele af en arbejdsbelastning at gøre fremskridt uafhængigt, hvilket kan forbedre den overordnede ydeevne.
Samtidig udførelse: Samtidig udførelse gør det muligt at køre den samme logik samtidigt. Begrænsning af samtidig udførelse til én kan medføre serialisering af logik, hvilket resulterer i behandling af ét element ad gangen. Styring af mængden af samtidig udførelse af arbejdsbelastningselementer kan hjælpe dig med at administrere ressourceforbruget under behandlingen. Flowløkker Power Automate kan f.eks. konfigureres til at behandle flere handlinger parallelt ved hjælp af egenskaben Concurrent Control.
Bemærk
Før du aktiverer samtidighed, skal du huske på, at det betyder, at der udføres flere handlinger på samme tid – hvis du skriver data som en del af løkken, skal du sikre dig, at destinationen for dataene kan håndtere samtidige anmodninger.
Køer: En kø er en lagerbuffer, der er placeret mellem en anmodende komponent (producent) og behandlingskomponenten (forbruger) i arbejdsbelastningen. Der kan være flere forbrugere for en enkelt kø. Efterhånden som opgaverne øges, skal du skalere forbrugerne for at imødekomme efterspørgslen. Producenten placerer opgaver i en kø. I køen lagres opgaverne, indtil en forbruger har kapacitet. En kø er ofte den bedste måde at aflevere arbejde til en behandlingstjeneste, der oplever spidsbelastninger i efterspørgslen. Du kan finde flere oplysninger under Købaseret belastningsjusteringsmønster og Lagerkøer og Service Bus-køer.
Optimer baggrundsjob
Mange programmer kræver baggrundsopgaver, der kører uafhængigt af brugergrænsefladen. Programmet kan starte jobbet og fortsætte med at behandle interaktive anmodninger fra brugere. Eksempler på baggrundsjob omfatter batchjob, processortunge opgaver og langvarige processer, f.eks. arbejdsprocesser. Baggrundsopgaver bør ikke blokere programmet eller forårsage uoverensstemmelser på grund af forsinket drift, når systemet er under belastning. Du kan finde flere oplysninger om optimering af baggrundsjob i Anbefalinger til udvikling af baggrundsjob.
Power Platform-processtyring
Instrumentkode: Når du bygger canvas apps, skal der bruges effektive mønstre for at forbedre appeffektiviteten, mens antimønstre skal undgås. Du kan finde flere oplysninger i Oversigt over oprettelse af performante Power Apps. Brug Overvåg til Power Apps at diagnosticere og foretage fejlfinding af problemer med ydeevnen under udviklingen.
Sporing af samtaleengagement og -resultater: Ved opbygning af agenter kan du spore samtaleengagement og resultater er vigtig til måling af agent præstationsmålinger og identifikation af områder, der kan forbedres.
Optimering af kodelogik: Med funktionen Løsningskontrol kan du udføre et omfattende statisk analysetjek af dine løsninger i forhold til et sæt af regler for bedste praksis og hurtigt identificere de problematiske mønstre. Med Flowkontrol kan du få indsigt i, hvilke områder af implementeringen af dit flow der udgør en risiko for præstationen?
Brug af samtidighed og parallelitet: Power Automate Cloudflows understøtter samtidighed i løkker og udløsere. Bemærk, at samtidighed, løkker og fjernelse af batchinddeling anvendes og er baseret på din effektivitetsprofil. Power Apps understøtter samtidighed ved hjælp af funktionen Concurrent.
Optimering af Dataverse-ydeevne: Microsoft Dataverse leverer en struktur, der kan udvides, som gør det muligt for udviklere at oprette stærkt tilpassede og skræddersyede oplevelser. Når du tilpasser, udvider eller integrerer med Dataverse, skal du være opmærksom på den etablerede vejledning og bedste praksisser. Se Bedste fremgangsmåder og retningslinjer for brug af Microsoft Dataverse.
Relaterede oplysninger
- Samtidighed, grænser for løkker og fjernelse af batchinddeling i Power Automate
- Produktspecifik vejledning til optimering af Dynamics 365 ydeevne
- Finjustering og optimering af ydeevne for apps til kundeengagement
- Oversigt over oprettelse af Power Apps
- Oversigt over Overvågning
- Forbedre komponentydeevnen, stabiliteten og pålideligheden med løsningskontrol
Kontrolliste til ydeevneeffektivitet
Se det fuldstændige sæt anbefalinger.