Power Platformin pyyntörajat (Requests limits) ovat edelleen monelle täysin tuntematon asia. Olen kirjoittanut niistä muutamaan otteeseen (esim. Power Platformin pyyntörajat (Requests limits) ja Power Platform -pyyntöjen optimointi), mutta aihe on jälleen ajankohtainen. Vihdoin on mahdollista nähdä, paljonko kukin käyttäjä tekee näitä mystisiä pyyntöjä.
Mikä tarkoittaa sitä että 6 kuukauden kuluttua pyyntörajojen ylityksistä voidaan alkaa rankaisemaan. Esimerkiksi laskulla tai sammuttamalla ylityksiä aiheutavia työnkulkuja.
Mitkä ihmeen pyyntörajat?
Lyhyesti. Kukin käyttäjätunnus voi muodostaa 24h aikaikkunassa rajallisen määrän Power Platform palvelupyyntöjä. Esimerkiksi flow’ssa suoritettavia toimintoja. Raja määräytyy käyttäjän lisenssin perusteella.
Lisenssi | Pyyntömäärä/24h |
---|---|
Power Apps per User, Power Automate per User, Dynamics 365 (ei Dynamics 365 Team Member) | 40 000 |
Power Apps per App, Power Apps Pay-as-you-go plan, M365 lisenssit, Dynamics 365 Team Member | 6 000 |
Power Automate per flow plan | 250 000 |
Mikäli käyttäjällä on useita lisenssejä, lasketaan niiden antamat pyyntömäärät yhteen.
Tämän lisäksi ns ei-lisensoiduilla käyttäjillä (esim service principal) on yhteisesti käytössä
- 25 000 pyyntöä (tenantissa ei ole Dynamics 365 -lisenssejä)
- 500 000 pyyntöä + 5000 pyyntöä per lisenssi (tenantissa on Dynamics 365 -lisenssejä)
Pyyntöjä saa lisää rahalla. Yksi Power Platform Request capacity add-on maksaa 50$/kk ja sillä saa 50 000 lisäpyyntöä / 24h. Jos esimerkiksi tenantissa olevat ratkaisut ylittävät annetut rajat yhteensä 500 000:lla pyynnöllä, joudut hankkimaan kuukaudessa 500$ edestä lisäkapasiteettia.
Näitä on siis syytä seurata.
Jatkuvasti suoritettavat flow’t
Ensimmäinen toimenpide on selvittää, onko ympäristössä työnkulkuja, joita suoritetaan järjettömiä määriä. Esimerkiksi flow joka käynnistyy joka minuutti. Tai flow, joka käynnistyy aina riviä päivitettäessä ja päivittää aina itse kyseistä riviä.
Nämä flow’t löytyvät nopeasti Power Platform admin centerin uudesta Power Automate raportista. Mikäli et ole vielä ottanut sitä käyttöön, niin tee se rattaan (1) takaa löytyvästä asetuksista.

Asetus löytyy listan lopusta.

Huom: Analytiikka ei ole aktivoinnin jälkeen välittömästi saatavilla. Sen keräämiseen menee aikansa.
Raportti löytyy Analytiikka-osion (1) alta. Kunhan vaihtaa raporttityypin tenantti-tasoiseksi (Tenant level analytics) (2). Kiinnostava tieto löytyy Usage-osion alta, kun järjestää flow’t suoritusmäärän (Runs) perusteella.
Luku (3) kertoo montako kertaa flow’ta on suoritettu. Ei sitä montako Power Platform -pyyntöä se on tehnyt. Mutta jos jo pelkkä suoritusmäärä on korkea, niin pyyntömäärät ovat vielä paljon korkeammat.

Löysimme heti flow’n, jota on suoritettu kuukauden aikana 1.7 miljoonaa kertaa. Siinä on ehdottomasti jotain pielessä. Harmiksemme raportissa ei ole siihen suoraa linkkiä, mutta ympäristön (environment name) ja flow’n tunnnisteen (resourceid) avulla se löytyy.
Käyttäjäkohtaiset palvelupyynnöt
Seuraavaksi selvitämme ylittävätkö jotkut käyttäjät palvelupyyntörajansa. Raportti on saatavilla Resources -> Capacity -osioista (1). Sivun alaosasta löytyy Download reports -optio (2).

Raportti muodostetaan erikseen. Valitaan New (1) ja raporttityypiksi Microsoft Power Platform requests (2). Tarkastellaan käyttäjäkohtaisia raportteja (Licensed User) (3).

Raportti on ladattavissa pienen odottelun jälkeen.

Raportti on CSV-muodossa. Avataan Excel ja ladataan ne sinne (Data -> From Text/CSV).

Vihdoin päässemme tutkimaan itse lukuja. Kiinnostava tieto on
- Entitled Quantity – Paljonko käyttäjä saa lisenssiensä puitteissa tehdä pyyntöjä
- Total Consumed Quantity – Paljonko hän on pyyntöjä tehnyt
Esimerkkiraportissamme kaikki on hyvin. Ei ylityksiä!

Vai onko sittenkään? Listassa on omina riveinään käyttäjän pyynnöt ympäristöittäin. Mutta käyttäjällä on yksi pyyntöraja, jonka pitäisi riittää kaikissa ympäristössä tehtyihin pyyntöihin.
Muokataan Exceliä vähän ja lasketaan yhteen käyttäjän kaikissa ympäristöissä tekemät pyynnöt.

Ei hätää. Edelleen ollaan rajojen puitteissa.
Mukavampaa kyllä olisi, mikäli raportissa näkyisi myös käyttäjän nimi tai UPN tai mitä tahansa muuta kuin pelkkä GUID.
Yllätyksiin on kuitenkin hyvä varautua. Esimerkiksi tässä tenantissa on syytä tehdä jotain.

Raportin voi ladata kaikki, joilla on hallintaoikeudet yhteenkin ympäristöön. Raportti sisältää kuitenkin kaikkien ympäristöjen tiedot.
Lisensoimattomien käyttäjien pyynnöt
Ladataan seuraavaksi raportti, joka sisältää lisensoimattomien käyttäjien (Non-licensed User) pyynnöt.

Tiedoston ensimmäinen rivi kertoo paljonko ei-lisenoidut käyttäjät voivat yhteensä suorittaa pyyntöjä. Esimerkissämme ei ole käytössä Dynamics 365:ttä, joten raja on vaatimaton 25000.

Pyyntöjä tehdään kuitenkin ~250 000. Huomaamme tosin välittömästi, että meillä on yksi käyttäjä (yhden ympäristön System), joka on lähes kaikkien pyyntöjen aiheuttaja.

Harmiksemme juurisyyn selvittäminen on kuitenkin hankalaa. Caller ID on tyhjä. Resource ID taas viittaa kyseisen ympäristön organisaatio ID:hen.
Yhteenveto
Nykyiset raportit auttavat ymmärtämään, minkä suurusluokan ongelmasta mahdollisesti on kyse. Pyyntöjen aiheuttavien tahojen selvittäminen on valitettavasti edelleenkin osin hankalaa.
Mutta nyt on oikea aika avata nämä raportit ja katsoa minkäkokoinen työmaa on edessä. Vai onko mitään.
Nyt on myös erinomainen aika siivota pois kaikki omat testi flow’t, joita ajetaan ympäristöissä täysin turhaan. Pienistä puroista saa nimittäin nopeasti täyteen oman tunnuksen pyyntörajat. Varsinkin jos käytössä on ainoastaan M365-lisenssin mukanaan tuomat 6000 pyyntöä / 24h.
Raportit ovat esikatselu (preview) vaiheessa, joten niihin todennäköisesti tulee vielä muutoksia.