Soovitused loogika optimeerimiseks

Kehtib selle Power Platform hästi läbimõeldud tulemuslikkuse ja efektiivsuse kontrollnimekirja soovituse kohta:

PE:06 Kasutage toimivat loogikat ja veenduge, et see laadib kohustused platvormile maha. Kasutage loogikat ainult ettenähtud otstarbel ja ainult siis, kui see on hädavajalik.

Selles juhendis kirjeldatakse soovitusi koodi ja infrastruktuuri jõudluse optimeerimiseks. Koodi ja infrastruktuuri optimeerimiseks peaksite oma komponente kasutama ainult nende põhieesmärgil ja ainult vajaduse korral. Koodi ja infrastruktuuri liigne kasutamine tekitab tarbetut ressursitarbimist, kitsaskohti ja aeglast reageerimist. Nende ebaefektiivsuste kompenseerimiseks peate samade ülesannete täitmiseks lisama rohkem ressursse.

Mõisted

Mõiste Määratlus
Samaaegsus Kui korraga täidetakse mitut ülesannet või protsessi, kuid mitte tingimata täpselt samal ajal.
Paralleelsus Kui korraga täidetakse mitut ülesannet või protsessi.

Peamised disainistrateegiad

Loogika ja infrastruktuuri optimeerimine hõlmab loogika ja toetava infrastruktuuri peenhäälestamist, et parandada jõudluse tõhusust. See nõuab jõudlusloogikat, mis täidab ülesandeid kiiresti ega raiska ressursse. See nõuab hästi läbimõeldud infrastruktuuri, mis on tarbetu keerukuse vältimiseks sujuvam. Töökoormus peaks kasutama platvormi loomupäraseid võimalusi. See lähenemisviis aitab tagada, et nii loogikat kui ka infrastruktuuri kasutatakse peamiselt nende põhieesmärkidel ja ainult vajaduse korral.

Optimeerige loogika jõudlust

Loogika jõudluse optimeerimiseks muutke koodi, et vähendada ressursikasutust, minimeerida käitusaja ja parandada jõudlust. Loogikat saate muuta, et parandada rakenduse või voo tõhusust ja kiirust. Ärge varjake jõudlusprobleeme toore jõuga. Toores jõud tähendab arvutusressursside lisamist koodi jõudluse kompenseerimiseks, näiteks lisavõimsuse lisamist allika adresseerimise asemel. Optimeerimisega peate jõudlusprobleemid lahendama. Kui optimeerite loogika jõudlust, aitab see maksimeerida süsteemiressursside kasutamist, parandab reageerimisaega, vähendab latentsust ja parandab kasutajakogemust.

Instrumenteerige oma loogika

Instrumentimisloogika viitab kohandatud sündmuste logimise lisamisele, et koguda andmeid ja jälgida loogika jõudlust käitusajal. Loogikaseadmed võimaldavad arendajatel koguda teavet peamiste mõõdikute, näiteks täitmisaja kohta. Instrumentaalloogika abil saavad arendajad saada ülevaate loogika kuumadest teedest, tuvastada jõudluse kitsaskohad ja optimeerida loogikat parema jõudluse tõhususe saavutamiseks.

Ideaalis peaksite tegema loogikaanalüüsi tarkvaraarenduse elutsükli alguses. Mida varem loogikaprobleemi avastate, seda odavam on seda parandada. Soovite automatiseerida võimalikult suure osa sellest loogikaanalüüsist. Kasutage dünaamilisi ja staatilisi koodianalüüsi tööriistu, et vähendada käsitsi tehtavat tööd. Näiteks võib vookontroll esile tõsta loogika, mille jõudlust ei eeldata, näiteks päringu, mis ei määra filtrikriteeriume. Kuid pidage meeles, et see testimine on endiselt tootmise simulatsioon. Tootmine annab kõige selgema arusaama loogika optimeerimisest.

Kompromiss: Loogika jälgimise tööriistad suurendavad tõenäoliselt kulusid.

Aktiivsete teede tuvastamine

Oma loogikat instrumenteerides saate mõõta erinevate loogikateede ressursitarbimist. Need mõõtmised aitavad teil tuvastada kuumi teid. Kuumad teed mõjutavad oluliselt jõudlust ja ressursikasutust. Need on programmi kriitilised või sageli käivitatavad osad, mis nõuavad suurt jõudlust ja madalat latentsust.

Koodi kiirteede tuvastamiseks kaaluge järgmisi samme.

  • Käitusaja andmete analüüsimine: koguge käitusaja andmeid ja analüüsige neid, et tuvastada loogika piirkonnad, mis tarbivad kõige rohkem kulunud aega. Otsige mustreid või loogikaosi, mida sageli täidetakse või mille lõpuleviimine võtab kaua aega.

  • Jõudluse mõõtmine: Kasutage profiilianalüüsi tööriistu või jõudluse testimise raamistikke, et mõõta erinevate loogikateede täitmisaega ja ressursitarbimist. See protsess aitab tuvastada kitsaskohad ja parandamist vajavad valdkonnad. Näiteks saate funktsiooni Monitor abil Power Apps paremini mõista, kuidas teie rakenduse sündmused ja valemid töötavad, et saaksite jõudlust parandada.

  • Kaaluge äriloogikat ja kasutajaefekti: hinnake erinevate loogikateede tähtsust nende asjakohasuse põhjal rakenduse funktsionaalsuse või kriitilise äritegevuse jaoks. Tehke kindlaks, millised loogikateed on kasutajatele väärtuse pakkumiseks või jõudlusnõuete täitmiseks üliolulised.

Loogika optimeerimine

Loogika optimeerimine seisneb loogika struktuuri ja kujunduse täpsustamises, et täita ülesandeid vähemate ressurssidega. Täiustatud loogika vähendab tarbetuid toiminguid. See loob kiirema täitmise väiksema ressursikuluga. Peaksite eemaldama loogikateelt kõik mittevajalikud toimingud, mis võivad jõudlust mõjutada. Seadke prioriteediks kuumade teede optimeerimine, et näha suurimat jõudluse efektiivsust.

Loogika optimeerimiseks kaaluge järgmisi strateegiaid.

  • Eemaldage mittevajalikud funktsioonikutsed: vaadake üle oma loogika ja tuvastage kõik funktsioonid, mis pole soovitud funktsiooni jaoks olulised ja võivad jõudlust negatiivselt mõjutada. Näiteks kui funktsioonikutse teostab koodis varem lõpule viidud valideerimise, saate eemaldada mittevajaliku valideerimisfunktsiooni kutse.

  • Logimistoimingute minimeerimine: logimine võib olla abiks silumisel ja analüüsimisel, kuid liigne logimine võib jõudlust mõjutada. Hinnake iga logimistoimingu vajalikkust ja eemaldage kõik mittevajalikud logimiskutsed, mis pole jõudlusanalüüsi jaoks kriitilised. Hea tava on lubada oma süsteemil sisse- ja väljalogimist sisse ja välja lülitada, et aidata silumisel, põhjustamata samal ajal tootmise jõudluse probleeme.

  • Optimeerige tsüklid ja tingimused: analüüsige oma loogikas silmuseid ja tingimusi ning tuvastage kõik mittevajalikud iteratsioonid või tingimused, mida saab kõrvaldada. Nende struktuuride lihtsustamine ja optimeerimine võib parandada teie koodi jõudlust. Minimeerige funktsioonikutseid tsüklites ja kõrvaldage üleliigsed arvutused. Kaaluge arvutuste teisaldamist tsüklist väljapoole.

  • Vähendage tarbetut andmetöötlust: vaadake oma loogika üle mittevajalike andmetöötlustoimingute, näiteks üleliigsete arvutuste või teisenduste suhtes. Loogika tõhususe parandamiseks kõrvaldage need mittevajalikud toimingud. Näiteks kasutage Dataverse arvutatud veerge, ümberarvestusvälju või Power Fx veerge, selle asemel, et arvutada väärtus koodis ja salvestada see salvestamistoiminguga.

  • Optimeerige andmestruktuure. Andmete tõhusaks salvestamiseks ja toomiseks valige sobivad andmestruktuurid ja ainult vajalikud andmeveerud. Valige konkreetse probleemi jaoks parim andmestruktuur. Sobiv andmestruktuur parandab rakenduse jõudlust.

  • Võrgutaotluste minimeerimine: kui teie loogika hõlmab võrgupäringute tegemist (nt konnektori toimingu kasutamist), minimeerige päringute arv ja optimeerige nende kasutamist. Võimaluse korral tehke päringuid ja vältige jõudluse parandamiseks tarbetuid edasi-tagasi sõite.

  • Andmestruktuuri mahu vähendamine: vaadake üle andmenõuded ja kõrvaldage kõik mittevajalikud väljad või atribuudid. Optimeerige mälukasutust, valides sobivad andmetüübid ja pakkides andmed tõhusalt.

  • Töötage asünkroonselt: hinnake, kas tööd saab teha asünkroonselt, mitte sünkroonselt oma loogikas. Näiteks kaaluge toimingu tekstisisese tegemise asemel voo rakendamist Power Automate töö asünkroonseks töötlemiseks.

  • Enne kohandamist konfigureerige. Võimaluse korral kasutage standardseid rakenduse komponente. Kohandused, nagu pistikprogrammid ja JavaScript, võivad jõudlust mõjutada.

  • Minimeerige juhtelemendid. Kuvage vormidel ainult vajalikud väljad – liiga palju välju võib kasutajaliidest risustada ja jõudlust mõjutada. Minimeerige juhtelementide arv käsuribal, lõuendirakenduses või kohandatud lehel. Vältige galeriide pesastamist ega liiga paljude komponentide lisamist galeriisse.

  • Andmepäringute optimeerimine. Laadige rakendusse või voogu ainult need andmed, mida vajate. Kasutage serveripoolseid vaateid andmete eelfiltreerimiseks, et kitsendada päringuga seotud andmeid.

Vaadake üle toimivussoovitused, mis on seotud Power Platform tootega, millega töötate. Hinnake oma loogikat nende soovituste alusel, et tuvastada parandamist vajavad valdkonnad.

Lisateavet Power Automate'i pilvevoo kodeerimisjuhiste, Power Appsi kodeerimisjuhiste ja Power Automate'i töölauavoo kodeerimisjuhiste kohta loogika optimeerimiseks.

Jootraha

Kasutage koodi ülevaatuseks Power CAT Toolkiti . Tööriistakomplekt sisaldab paljusid selle dokumentatsiooni kodeerimisjuhiseid, tagades, et teie lahendused on tõhusad ja hooldatavad. Tööriistakomplekt märgistab automaatselt kõik mustrid, mis ei vasta nendele headele tavadele, nii et saate võimalike probleemidega tegeleda arendusprotsessi varajases staadiumis. See ennetav lähenemine parandab teie koodi kvaliteeti ja aitab ülevaatusprotsessi sujuvamaks muuta, muutes kõrgete standardite säilitamise kõigis projektides lihtsamaks. Power CAT Toolkiti integreerimine arenduse töövoogu tagab, et teie lahendused on üles ehitatud kindlale alusele ning viivad usaldusväärsemate ja skaleeritavamate lahendusteni.

Kompromiss: loogika ja kuumade teede optimeerimine nõuab teadmisi. Loogika ebaefektiivsuse tuvastamine on subjektiivne ja võib nõuda kõrgelt kvalifitseeritud inimesi, keda peate võib-olla muudest ülesannetest välja tõmbama.

Samaaegsuse ja paralleelsuse kasutamine

Samaaegsuse ja paralleelsuse kasutamine hõlmab mitme ülesande või protsessi täitmist kas samaaegselt või kattuvalt, et arvutusressursse tõhusalt kasutada. Need tehnikad suurendavad üldist läbilaskevõimet ja töökoormusega töödeldavate ülesannete arvu. Kui käivitate ülesandeid samaaegselt või paralleelselt, võib see vähendada rakenduse käitusaega ja pikendada reageerimisaega.

Samaaegsus ja paralleelsus jaotavad töökoormuse tõhusalt arvutusressursside vahel. Samaaegsuse või paralleelsuse suurendamisel arvestage mõjuga teistele süsteemidele, kuna võite ületada nende piire. Näiteks võib samaaegne tsükkel Power Automate voos, mis töötleb iga üksust korraga, ületada tsükli loogikas kasutatava konnektori päringu limiite.

Kasutage paralleelsust. Paralleelsus on süsteemi võime käivitada samaaegselt mitu ülesannet või protsessi mitmel arvutusressursil. Paralleelsus jagab töökoormuse väiksemateks ülesanneteks, mida käitatakse paralleelselt. Kui käivitate loogikat paralleelselt, paraneb jõudlus, kuna töökoormus on jaotatud mitme haru vahel.

Kasutage samaaegsust. Samaaegsus on süsteemi võime käivitada mitut ülesannet või protsessi. Samaaegsus võimaldab töökoormuse erinevatel osadel iseseisvalt edasi liikuda, mis võib parandada üldist jõudlust.

  • Samaaegne täitmine: samaaegne täitmine võimaldab sama loogikat samaaegselt käivitada. Samaaegse täitmise piiramine ühega võib serialiseerida loogikat, mille tulemuseks on ühe üksuse töötlemine korraga. Töökoormusüksuste samaaegse täitmise hulga kontrollimine võib aidata töötlemise ajal ressursikasutust hallata. Näiteks saab voosilmuseid konfigureerida mitme toimingu paralleelseks töötlemiseks, Power Automate kasutades atribuuti Concurrent Control.

    Märkus.

    Enne samaaegsuse lubamist pidage meeles, et see tähendab, et korraga tehakse mitu toimingut – kui kirjutate andmeid tsükli osana, veenduge, et andmete sihtkoht saaks samaaegseid päringuid käsitleda.

  • Järjekorrad: Järjekord on salvestuspuhver, mis asub töökoormuse taotleva komponendi (tootja) ja töötlemiskomponendi (tarbija) vahel. Ühe järjekorra jaoks võib olla mitu tarbijat. Ülesannete suurenedes peaksite tarbijaid nõudluse rahuldamiseks skaleerima. Tootja paneb ülesanded järjekorda. Järjekord salvestab ülesanded seni, kuni tarbijal on võimsust. Järjekord on sageli parim viis töö üleandmiseks töötlemisteenusele, mille nõudlus on tipptasemel. Lisateavet leiate teemadest Järjekorrapõhine koormuse tasandamise muster ja Salvestusruumi järjekorrad ja Service Busi järjekorrad.

Optimeerige taustatöid

Paljud rakendused nõuavad taustatoiminguid, mis töötavad kasutajaliidesest sõltumatult. Rakendus saab töö käivitada ja jätkata kasutajate interaktiivsete päringute töötlemist. Taustatööde näideteks on paketttööd, protsessorimahukad ülesanded ja pikaajalised protsessid (nt töövood). Taustaülesanded ei tohiks rakendust blokeerida ega põhjustada viivitusest tingitud ebakõlasid, kui süsteem on koormatud. Lisateavet taustatööde optimeerimise kohta leiate teemast Soovitused taustatööde arendamiseks.

Power Platform Hõlbustamine

Instrumentaalkood: lõuendirakenduste loomisel tuleks rakenduse tõhususe suurendamiseks kasutada jõudlusmustreid, samas kui mustrivastaseid mustreid tuleks vältida. Lisateabe saamiseks vaadake teemat Esineja Power Apps loomise ülevaade. Kasutage funktsiooni Monitor in Power Apps jõudlusprobleemide diagnoosimiseks ja tõrkeotsinguks arenduse ajal.

Mõõtke kaasatust ja tulemusi: Agentide loomisel on vestluse kaasamise ja tulemuste jälgimine oluline agentide tulemuslikkuse mõõdikute mõõtmiseks ja parendusvaldkondade avastamiseks.

Koodiloogika optimeerimine: lahenduse kontrollimise funktsiooni abil saate oma lahendustele teha rikkaliku staatilise analüüsi kontrolli parimate tavade reeglite kogumi alusel ja tuvastada kiiresti probleemsed mustrid. Flow Checkeri abilsaate ülevaate sellest, millised teie voo rakendamise valdkonnad kujutavad endast jõudlusriski?

Samaaegsuse ja paralleelsuse kasutamine: Power Automate pilvevood toetavad samaaegsust tsüklites ja päästikutes. Pange tähele, et kehtivad samaaegsuse, silmuse ja partiide eemaldamise piirangud , mis põhinevad teie toimivusprofiilil. Power Apps Toetage samaaegsust funktsiooni Concurrent abil .

Jõudluse Dataverse optimeerimine:pakub laiendatavat raamistikku, Microsoft Dataverse mis võimaldab arendajatel luua väga kohandatud ja kohandatud kogemusi. Kohandamisel, laiendamisel või integreerimisel Dataverse olge teadlik kehtestatud juhistest ja headest tavadest. Vaadake jaotist Head Microsoft Dataverse tavad ja juhised kasutamisel.

Toimivuse efektiivsuse kontroll-leht

Vaadake kõiki soovitusi.