Jaa


Suositukset logiikan optimoimiseksi

Koskee tätä Power Platform hyvin suunnitellun suorituskyvyn tehokkuuden tarkistuslistan suositusta:

PE:06 Käytä logiikkaa, joka on tehokas, ja varmista, että se siirtää vastuut alustalle. Käytä logiikkaa vain aiottuun tarkoitukseen ja vain tarvittaessa.

Tässä oppaassa kuvataan suositukset koodin ja infrastruktuurin suorituskyvyn optimoimiseksi. Koodin ja infrastruktuurin optimoimiseksi komponentteja tulisi käyttää vain niiden ydintarkoitukseen ja vain tarvittaessa. Kun käytät koodia ja infrastruktuuria liikaa, se aiheuttaa tarpeetonta resurssien kulutusta, pullonkauloja ja hitaita vastauksia. Näiden tehottomuuksien kompensoimiseksi sinun on lisättävä resursseja samojen tehtävien suorittamiseen.

Määritelmät

Termi Määritelmä
Samanaikaisuus Kun useita tehtäviä tai prosesseja suoritetaan kerralla, mutta ei välttämättä täsmälleen samanaikaisesti.
Yhdensuuntaisuus Kun useita tehtäviä tai prosesseja suoritetaan samanaikaisesti.

Tärkeimmät suunnittelustrategiat

Logiikan ja infrastruktuurin optimointi edellyttää logiikan ja sitä tukevan infrastruktuurin hienosäätöä suorituskyvyn tehokkuuden parantamiseksi. Se vaatii suorituskykyistä logiikkaa, joka suorittaa tehtävät nopeasti eikä tuhlaa resursseja. Se edellyttää hyvin suunniteltua infrastruktuuria, joka on virtaviivaistettu tarpeettoman monimutkaisuuden välttämiseksi. Työmäärän tulisi käyttää alustan luontaisia ominaisuuksia. Tämä lähestymistapa auttaa varmistamaan, että sekä logiikkaa että infrastruktuuria käytetään ensisijaisesti ydintarkoituksiinsa ja vain tarvittaessa.

Optimoi logiikan suorituskyky

Voit optimoida logiikan suorituskyvyn muokkaamalla koodia resurssien käytön vähentämiseksi, ajoajan minimoimiseksi ja suorituskyvyn parantamiseksi. Voit muokata logiikkaa sovelluksen tai työnkulun tehokkuuden ja nopeuden parantamiseksi. Älä peitä suorituskykyongelmia raa'alla voimalla. Brute force tarkoittaa laskentaresurssien lisäämistä koodin suorituskyvyn kompensoimiseksi, kuten lisäkapasiteetin lisäämistä lähteeseen kohdistamisen sijaan. Sinun on korjattava suorituskykyongelmat optimoinnilla. Kun optimoit logiikan suorituskyvyn, se auttaa maksimoimaan järjestelmäresurssien käytön, parantaa vastaus aikaa, vähentää viivettä ja parantaa käyttökokemusta.

Instrumentoi logiikkasi

Instrumentointilogiikka viittaa käytäntöön, jossa lisätään mukautettu tapahtumaloki tietojen keräämiseksi ja logiikan suorituskyvyn seuraamiseksi ajon aikana. Looginen instrumentointi antaa kehittäjille mahdollisuuden kerätä tietoja keskeisistä mittareista, kuten suoritusajasta. Instrumentointilogiikan avulla kehittäjät voivat saada tietoa logiikan hot-poluista, tunnistaa suorituskyvyn pullonkauloja ja optimoida logiikan suorituskyvyn parantamiseksi.

Ihannetapauksessa sinun tulisi suorittaa logiikka-analyysi ohjelmistokehityksen elinkaaren alussa. Mitä aikaisemmin huomaat logiikkaongelman, sitä halvempaa se on korjata. Haluat automatisoida mahdollisimman suuren osan tästä logiikka-analyysistä. Käytä dynaamisia ja staattisia koodianalyysityökaluja manuaalisen työn vähentämiseksi. Työnkulun tarkistus voi esimerkiksi korostaa logiikkaa, jonka ei odoteta olevan tehokas, kuten kyselyn, joka ei määritä suodatusehtoja. Muista kuitenkin, että tämä testaus on edelleen tuotannon simulointi. Tuotanto tarjoaa selkeimmän käsityksen logiikan optimoinnista.

Kompromissi: Loogiset valvontatyökalut todennäköisesti lisäävät kustannuksia.

Tunnista kuumat polut

Instrumentoimalla logiikkasi voit mitata resurssien kulutusta eri logiikkapoluilla. Nämä mittaukset auttavat sinua tunnistamaan kuumat reitit. Pikapoluilla on merkittävä vaikutus suorituskykyyn ja resurssien käyttöön. Ne ovat ohjelman kriittisiä tai usein suoritettavia osia, jotka edellyttävät suurta suorituskykyä ja pientä viivettä.

Voit tunnistaa koodin kuumat polut seuraavasti:

  • Analysoi suorituksenaikaisia tietoja: Kerää suorituksenaikaisia tietoja ja analysoi niitä tunnistaaksesi logiikan alueet, jotka kuluttavat eniten aikaa. Etsi malleja tai logiikan osia, jotka suoritetaan usein tai joiden suorittaminen kestää kauan.

  • Mittaa suorituskykyä: Käytä profilointityökaluja tai suorituskyvyn testauskehyksiä eri logiikkapolkujen suoritusajan ja resurssien kulutuksen mittaamiseen. Tämä prosessi auttaa tunnistamaan pullonkauloja ja parannuskohteita. Seurannan avulla Power Apps voit esimerkiksi saada paremman käsityksen sovelluksesi tapahtumien ja kaavojen toiminnasta ja parantaa suorituskykyä.

  • Harkitse liiketoimintalogiikkaa ja käyttäjävaikutusta: Arvioi eri logiikkapolkujen merkitys sen perusteella, miten merkityksellisiä ne ovat sovelluksen toiminnallisuuden tai kriittisen liiketoiminnan kannalta. Määritä, mitkä logiikkapolut ovat ratkaisevia arvon tuottamiseksi käyttäjille tai suorituskykyvaatimusten täyttämiseksi.

Optimoi logiikka

Logiikan optimoinnissa on kyse logiikan rakenteen ja suunnittelun hiomisesta tehtävien suorittamiseksi pienemmillä resursseilla. Parannettu logiikka vähentää tarpeettomia toimintoja. Se luo nopeamman suorituksen pienemmällä resurssien kulutuksella. Poista loogisesta polusta kaikki tarpeettomat toiminnot, jotka voivat vaikuttaa suorituskykyyn. Priorisoi pikapolkujen optimointi, jotta näet suurimmat suorituskyvyn tehokkuusparannukset.

Voit optimoida logiikan harkitsemalla seuraavia strategioita:

  • Poista tarpeettomat funktiokutsut: Tarkista logiikka ja tunnista funktiot, jotka eivät ole välttämättömiä halutun toiminnon kannalta ja saattavat vaikuttaa suorituskykyyn negatiivisesti. Jos esimerkiksi funktiokutsu suorittaa koodin aiemmin suoritetun vahvistuksen, voit poistaa tarpeettoman vahvistusfunktiokutsun.

  • Minimoi kirjaamistoiminnot: Kirjaamisesta voi olla hyötyä virheenkorjauksessa ja analysoinnissa, mutta liiallinen kirjaaminen voi vaikuttaa suorituskykyyn. Arvioi kunkin kirjaamistoiminnon tarpeellisuus ja poista tarpeettomat lokikutsut, jotka eivät ole kriittisiä suorituskyvyn analysoinnin kannalta. Hyvä käytäntö on antaa järjestelmän ottaa kirjaaminen käyttöön ja poistaa se käytöstä, jotta virheenkorjauksessa voidaan auttaa aiheuttamatta tuotannon suorituskykyongelmia.

  • Optimoi silmukat ja ehdolliset: Analysoi logiikkasi silmukat ja ehdolliset ja tunnista tarpeettomat iteraatiot tai ehdot, jotka voidaan poistaa. Näiden rakenteiden yksinkertaistaminen ja optimointi voi parantaa koodisi suorituskykyä. Minimoi silmukoiden funktiokutsut ja eliminoi turhat laskutoimitukset. Harkitse laskelmien siirtämistä silmukan ulkopuolelle.

  • Vähennä tarpeetonta tietojenkäsittelyä: Tarkista logiikkasi tarpeettomien tietojenkäsittelytoimintojen, kuten tarpeettomien laskelmien tai muunnosten, varalta. Poista nämä tarpeettomat toiminnot parantaaksesi logiikkasi tehokkuutta. Käytä Dataverse esimerkiksi laskettuja sarakkeita, koontikenttiä tai Power Fx sarakkeita sen sijaan, että laskisit arvon koodiin ja tallentaisit sen tallennustoiminnolla.

  • Optimoi tietorakenteet. Voit tallentaa ja noutaa tietoja tehokkaasti valitsemalla sopivat tietorakenteet ja vain pakolliset tietosarakkeet. Valitse paras tietorakenne tietylle ongelmalle. Sopiva tietorakenne parantaa sovelluksen suorituskykyä.

  • Minimoi verkkopyynnöt: Jos logiikkaan liittyy verkkopyyntöjen tekeminen (esimerkiksi yhdistintoiminnon käyttäminen), minimoi pyyntöjen määrä ja optimoi niiden käyttö. Eräpyynnöt mahdollisuuksien mukaan ja vältä tarpeettomia edestakaisia matkoja suorituskyvyn parantamiseksi.

  • Pienennä tietorakenteen kokoa: Tarkista tietovaatimukset ja poista tarpeettomat kentät tai ominaisuudet. Optimoi muistin käyttö valitsemalla sopivat tietotyypit ja pakkaamalla tiedot tehokkaasti.

  • Tee työtä asynkronisesti: Arvioi, voisiko työ tehdä logiikassasi asynkronisesti synkronisen sijaan. Esimerkiksi sen sijaan, että suorittaisit toiminnon tekstiin sidottuna, harkitse työnkulun käyttöönottoa Power Automate työn käsittelemiseksi asynkronisesti.

  • Määritä ennen mukauttamista. Käytä tavallisia sovelluskomponentteja, jos voit. Mukautukset, kuten laajennukset ja JavaScript, voivat vaikuttaa suorituskykyyn.

  • Minimoi hallinta. Näytä lomakkeissa vain tarvitsemasi kentät – liian monta kenttää voi sotkea käyttöliittymän ja vaikuttaa suorituskykyyn. Minimoi ohjausobjektien määrä komentopalkissa, pohjaan perustuvassa sovelluksessa tai mukautetulla sivulla. Vältä gallerioiden sisäkkäisyyttä tai liian monen komponentin lisäämistä valikoimaan.

  • Optimoi tietokyselyt. Lataa vain tarvitsemasi tiedot sovellukseen tai työnkulkuun. Palvelinpuolen näkymien avulla voit esisuodattaa tietoja ja rajata kyselyyn liittyviä tietoja.

Tutustu käyttämääsi tuotetta koskeviin Power Platform tehokkuussuosituksiin. Arvioi logiikkaasi näiden suositusten perusteella tunnistaaksesi parannusta vaativat alueet.

Kompromissi: Logiikan ja kuumien polkujen optimointi vaatii asiantuntemusta. Logiikan tehottomuuden tunnistaminen on subjektiivista ja saattaa vaatia erittäin taitavia henkilöitä, joita saatat joutua hakemaan muista tehtävistä.

Käytä samanaikaisuutta ja rinnakkaisuutta

Samanaikaisuuden ja rinnakkaisuuden käyttäminen edellyttää useiden tehtävien tai prosessien suorittamista joko samanaikaisesti tai päällekkäisesti laskentaresurssien tehokkaan käytön varmistamiseksi. Nämä tekniikat lisäävät kokonaissiirtonopeutta ja niiden tehtävien määrää, joita työmäärä voi käsitellä. Kun suoritat tehtäviä samanaikaisesti tai rinnakkain, se voi lyhentää sovelluksen suoritusaikaa ja pidentää vastaus kertaa.

Samanaikaisuus ja rinnakkaisuus jakavat tehokkaasti työmäärän laskentaresurssien kesken. Kun lisäät samanaikaisuutta tai rinnakkaisuutta, ota huomioon vaikutus muihin järjestelmiin, koska saatat ylittää niiden rajat. Esimerkiksi työnkulun samanaikainen silmukka, joka Power Automate käsittelee kutakin kohdetta kerrallaan, voi ylittää silmukan logiikassa käytetyn yhdistimen pyyntörajat.

Käytä rinnakkaisuutta. Rinnakkaisuus on järjestelmän kyky käynnistää samanaikaisesti useita tehtäviä tai prosesseja useilla laskentaresursseilla. Rinnakkaisuus jakaa työmäärän pienempiin tehtäviin, joita suoritetaan rinnakkain. Kun suoritat logiikkaa rinnakkain, suorituskyky paranee, koska kuormitus jaetaan useisiin haaroihin.

Käytä samanaikaisuutta. Samanaikaisuus on järjestelmän kyky suorittaa useita tehtäviä tai prosesseja. Samanaikaisuus mahdollistaa työmäärän eri osien etenemisen itsenäisesti, mikä voi parantaa yleistä suorituskykyä.

  • Samanaikainen suoritus: Samanaikainen suoritus mahdollistaa saman logiikan suorittamisen samanaikaisesti. Samanaikaisen suorituksen rajoittaminen yhteen voi johtaa logiikan sarjoittamiseen, mikä johtaa yhden kohteen käsittelyyn kerrallaan. Työmääränimikkeiden samanaikaisen suorittamisen määrän hallinta voi auttaa hallitsemaan resurssien käyttöä käsittelyn aikana. Esimerkiksi Power Automate työnkulkusilmukat voidaan määrittää käsittelemään useita toimintoja rinnakkain samanaikaisen ohjauksen ominaisuuden avulla.

    Muistiinpano

    Ennen kuin otat samanaikaisuuden käyttöön, muista, että tämä tarkoittaa, että useita toimintoja suoritetaan samanaikaisesti – jos kirjoitat tietoja osana silmukkaa, varmista, että tietojen kohde pystyy käsittelemään samanaikaisia pyyntöjä.

  • Jonot: Jono on tallennuspuskuri, joka sijaitsee pyytävän komponentin (tuottaja) ja työmäärän käsittelykomponentin (kuluttaja) välissä. Yhdelle jonolle voi olla useita kuluttajia. Kun tehtävät lisääntyvät, sinun tulee skaalata kuluttajat vastaamaan kysyntää. Tuottaja sijoittaa tehtävät jonoon. Jono tallentaa tehtävät, kunnes kuluttajalla on kapasiteettia. Jono on usein paras tapa siirtää työt käsittelypalveluun, jossa on kysyntäpiikkejä. Lisätietoja on kohdissa Jonopohjainen kuormituksen tasauskuvio ja Varastojonot ja Palveluväyläjonot.

Optimoi taustatyöt

Monet sovellukset vaativat taustatehtäviä, jotka suoritetaan käyttöliittymästä riippumatta. Sovellus voi aloittaa työn ja jatkaa käyttäjien vuorovaikutteisten pyyntöjen käsittelyä. Esimerkkejä taustatöistä ovat erätyöt, paljon suoritinta vaativat tehtävät ja pitkäkestoiset prosessit, kuten työnkulut. Taustatehtävien ei pitäisi estää sovellusta tai aiheuttaa epäjohdonmukaisuuksia, jotka johtuvat viivästyneestä toiminnasta järjestelmän ollessa kuormitettuna. Lisätietoja taustatöiden optimoinnista on kohdassa Suositukset taustatöiden kehittämiseksi.

Power Platform – avustaminen

Instrumentointikoodi: Kun luot pohjaan perustuvia sovelluksia, tehokkaita malleja tulisi käyttää sovelluksen tehokkuuden parantamiseksi, kun taas antikuvioita tulisi välttää. Lisätietoja on kohdassa Yleiskatsaus performantin Power Apps luomiseen. Käytä Monitor in - Power Apps toimintoa suorituskykyongelmien diagnosointiin ja vianmääritykseen kehityksen aikana.

Mittaa sitoutumista ja tuloksia: Kun rakennat perämiehiä, keskusteluun sitoutumisen ja tulosten seuraaminen on välttämätöntä perämiehen suorituskykymittareiden mittaamiseksi ja parannuskohteiden löytämiseksi.

Koodilogiikan optimointi: Ratkaisun tarkistustoiminnon avulla voit suorittaa ratkaisuillesi monipuolisen staattisen analyysin tarkistuksen parhaiden käytäntöjen sääntöjen perusteella ja tunnistaa ongelmalliset mallit nopeasti. Työnkulun tarkistuksen avullasaat merkityksellisiä tietoja siitä, mitkä työnkulun toteutuksen alueet aiheuttavat suorituskykyriskin?

Samanaikaisuuden ja rinnakkaisuuden käyttäminen: Power Automate pilvityönkulut tukevat samanaikaisuutta silmukoissa ja käynnistimissä. Huomaa, että samanaikaisuuden, silmukoinnin ja keskustelun rajoitukset ovat voimassa ja perustuvat tehokkuusprofiiliisi. Power Apps tukee samanaikaisuutta käyttämällä Samanaikainen-funktiota .

Suorituskyvyn Dataverse optimointi: Microsoft Dataverse tarjoaa laajennettavan kehyksen, jonka avulla kehittäjät voivat rakentaa erittäin mukautettuja ja räätälöityjä kokemuksia. Kun mukautat, laajennat tai integroit Dataverse, ota huomioon vakiintuneet ohjeet ja parhaat käytännöt. Katso Parhaat käytännöt ja ohjeet Microsoft Dataversen käyttöön.

Suoritustehokkuuden tarkistuslista

Katso lisätietoja suositusten kokoelmasta.