Prémium szintű Azure Functions-csomag
Az Azure Functions Elastic Premium csomag egy dinamikus skálázási üzemeltetési lehetőség a függvényalkalmazásokhoz. Az egyéb üzemeltetési tervekkel kapcsolatos lehetőségekért tekintse meg az üzemeltetési tervről szóló cikket.
Fontos
Az Azure Functions a Azure-alkalmazás szolgáltatásplatformon futtatható. Az App Service platformon a Prémium csomagfüggvény-alkalmazásokat futtató csomagokat Rugalmas Prémium csomagoknak nevezzük, olyan termékváltozatnevekkel, mint a EP1
. Ha úgy dönt, hogy prémium csomagban futtatja a függvényalkalmazást, mindenképpen hozzon létre egy "E" kezdetű termékváltozatú csomagot, például EP1
. Az App Service-csomag termékváltozatának nevei, amelyek "P"-vel kezdődnek, például P1V2
(Prémium V2 Kis csomag), valójában dedikált üzemeltetési csomagok. Mivel dedikáltak, és nem rugalmas prémium szintűek, a "P" kezdetű termékváltozatnevekkel rendelkező csomagok nem fognak dinamikusan skálázni, és növelhetik a költségeket.
A prémium csomag üzemeltetése a következő előnyöket nyújtja a funkciók számára:
- Kerülje a hidegindítást meleg példányokkal.
- Virtuális hálózati kapcsolat.
- Támogatja a hosszabb futásidejű időtartamokat.
- Prémium szintű példányméretek kiválasztása.
- Kiszámíthatóbb díjszabás a fogyasztási csomaghoz képest.
- Nagy sűrűségű alkalmazásfoglalás több függvényalkalmazással rendelkező csomagokhoz.
- Támogatja a Linux-tárolók üzembe helyezését.
A Prémium csomag használatakor az Azure Functions-gazdagép példányai a bejövő események száma alapján lesznek hozzáadva és eltávolítva, akárcsak a Használati csomag. Több függvényalkalmazás is üzembe helyezhető ugyanahhoz a Prémium csomaghoz, és a csomag lehetővé teszi a számítási példányok méretének, az alapcsomag méretének és a csomag maximális méretének konfigurálását.
Számlázás
A Prémium csomag számlázásának alapja a magmásodpercek száma és az összes példányon lefoglalt memória mennyisége. Ez a számlázás eltér a használati csomagtól, amely másodpercenkénti erőforrás-használat és -végrehajtás alapján kerül számlázásra. A Prémium csomaggal nincs végrehajtási díj. Ez a számlázás az aktív csomagonkénti minimális havi költséget eredményezi, függetlenül attól, hogy a függvény aktív vagy tétlen. Ne feledje, hogy a Prémium csomagban lévő összes függvényalkalmazás osztozik a lefoglalt példányokon. További információkért tekintse meg az Azure Functions díjszabási oldalát.
Feljegyzés
Minden prémium csomaghoz mindig legalább egy aktív (számlázott) példány tartozik.
Prémium csomag létrehozása
Amikor függvényalkalmazást hoz létre az Azure Portalon, a Használat csomag az alapértelmezett. Prémium csomagban futó függvényalkalmazás létrehozásához explicit módon létre kell hoznia vagy ki kell választania egy Azure Functions Premium üzemeltetési csomagot az Elastic Premium termékváltozatok egyikével. A létrehozott függvényalkalmazás ezután ebben a csomagban lesz üzemeltetve. Az Azure Portal megkönnyíti a Prémium csomag és a függvényalkalmazás egyidejű létrehozását. Ugyanabban a Prémium csomagban több függvényalkalmazást is futtathat, de mindkettőnek ugyanazon az operációs rendszeren (Windows vagy Linux) kell futnia.
Az alábbi cikkek bemutatják, hogyan hozhat létre programozott módon függvényalkalmazást prémium csomaggal:
Hidegindítások kiküszöbölése
Ha az események vagy végrehajtások nem fordulnak elő a használati tervben, az alkalmazás nulla példányra skálázható. Új események érkezésekor egy új példánynak, amelyen az alkalmazás fut, specializáltnak kell lennie. Az új példányok specializálása az alkalmazástól függően időt vesz igénybe. Ezt az extra késést az első hívásnál gyakran alkalmazás hidegindításnak nevezik.
A Prémium csomag két olyan funkciót biztosít, amelyek együttműködve hatékonyan kiküszöbölik a hidegindításokat a függvényekben: mindig kész példányok és előre előkészített példányok. A mindig készen álló példányok az előre áthelyezett példányok skálázással nem rendelkező kategóriái, és az előre elkészített példányok pufferként szolgálnak a HTTP-események miatt történő skálázás során.
Amikor az események elkezdik aktiválni az alkalmazást, a rendszer először a mindig kész példányokhoz irányítja őket. Amikor a függvény HTTP-események miatt aktívvá válik, a többi példány pufferként van felmelegítve. Ezeket a pufferelt példányokat előre előkészített példányoknak nevezzük. Ez a puffer csökkenti a skálázás során szükséges új példányok hidegindítását.
Mindig kész példányok
A Prémium csomagban az alkalmazás mindig készen áll egy adott számú példányra. Az alkalmazás a terheléstől függetlenül folyamatosan fut ezeken a példányokon. Ha a terhelés meghaladja azt, amit a mindig kész példányok kezelni tudnak, a rendszer szükség szerint további példányokat ad hozzá a megadott maximális értékig.
Ez az alkalmazásszintű beállítás a csomag minimális példányait is szabályozza. Tegyük fel például, hogy három függvényalkalmazást használ ugyanabban a Prémium csomagban. Ha két alkalmazás mindig készen áll egy példányszámra, egy harmadik példányban pedig ötre, akkor a teljes csomag minimális száma öt. Ez azoknak a példányoknak a minimális számát is tükrözi, amelyek esetében a csomag számlázása történik. Az alkalmazásonként támogatott mindig kész példányok maximális száma 20.
Az Azure Portalon konfigurálhatja a mindig kész példányok számát a függvényalkalmazás kiválasztásával, a Platformfunkciók lapra lépéssel, valamint a Vertikális felskálázási beállítások kiválasztásával. A függvényalkalmazás szerkesztési ablakában a mindig kész példányok az adott alkalmazásra vonatkoznak.
Előre elkészített példányok
Az előre elkészített példányszám-beállítás pufferként melegíti a példányokat a HTTP-méretezési és aktiválási események során. Az előre elkészített példányok mindaddig pufferelnek, amíg el nem éri a maximális vertikális felskálázási korlátot. Az alapértelmezett előre elkészített példányszám 1, és a legtöbb forgatókönyv esetében ennek az értéknek 1-nek kell maradnia.
Fontolja meg egy kevésbé gyakori forgatókönyvet, például egy egyéni tárolóban futó alkalmazást. Mivel az egyéni tárolók hosszú bemelegítéssel rendelkeznek, érdemes lehet növelni az előre elkészített példányok pufferét. Az előre elkészített példányok csak az összes aktív példány használatbavétele után lesznek aktívak.
Az előmelegítési folyamat során futtatott bemelegítési eseményindítót is definiálhatja. A bemelegítési eseményindítóval előre betöltheti az egyéni függőségeket az előhívási folyamat során, így a függvények azonnal megkezdhetik a kérések feldolgozását. További információkért tekintse meg az Azure Functions bemelegítési eseményindítóját.
Tekintse meg ezt a példát arra, hogyan működnek együtt a mindig készen álló példányok és az előre elkészített példányok. A prémium szintű függvényalkalmazások két mindig készen álló példányt konfiguráltak, és egy előre elkészített példány alapértelmezett példányát.
- Ha az alkalmazás tétlen, és nincsenek eseményindítók, az alkalmazás ki van építve, és két példánnyal fut. Jelenleg a két mindig készen lévő példányért kell fizetnie, de az előre elkészített példányokért nem kell fizetnie, mivel nincs elővetített példány kiszámlázva.
- Amikor az alkalmazás elkezd HTTP-forgalmat fogadni, a kérések terhelése a két mindig készen lévő példány között oszlik el. Amint ez a két példány megkezdi az események feldolgozását, a rendszer hozzáad egy példányt az előre elkészített puffer kitöltéséhez. Az alkalmazás most három kiépített példánysal fut: a két mindig készen álló példánysal, valamint a harmadik előre elkészített és inaktív pufferrel. A három példányért díjat kell fizetnie.
- Ahogy a terhelés növekszik, és az alkalmazásnak több példányra van szüksége a HTTP-forgalom kezeléséhez, az előre elkészített példányt egy aktív példányra cseréli. A HTTP-terhelés most mind a három példányhoz lesz irányítva, és a rendszer azonnal kiépít egy negyedik példányt az előre elkészített puffer kitöltéséhez.
- A skálázás és az előmegjelenítés sorozata mindaddig folytatódik, amíg el nem éri az alkalmazás maximális példányszámát, vagy a terhelés csökken, ami miatt a platform egy időszak után visszaskálázódik. A maximálisnál nagyobb példányok nincsenek előre megadva vagy aktiválva.
A portálon nem módosíthatja az előre elkészített példányok számát, ehelyett az Azure CLI-t vagy az Azure PowerShellt kell használnia.
Függvényalkalmazás-példányok maximális száma
A csomag maximális kipukkadási száma mellett alkalmazásonkénti maximumot is konfigurálhat. Az alkalmazás maximális mérete az alkalmazásméretkorlát használatával konfigurálható. A maximális alkalmazáskiskálázási korlát nem haladhatja meg a csomag maximális kiugró példányait.
Privát hálózati kapcsolat
A Prémium csomagban üzembe helyezett függvényalkalmazások kihasználhatják a webalkalmazások virtuális hálózati integrációjának előnyeit. Ha konfigurálva van, az alkalmazás kommunikálhat a virtuális hálózaton belüli erőforrásokkal, vagy szolgáltatásvégpontokon keresztül biztonságossá teheti. Az alkalmazásban IP-korlátozások is elérhetők a bejövő forgalom korlátozásához.
Ha egy prémium csomagban hozzárendel egy alhálózatot a függvényalkalmazáshoz, szüksége lesz egy olyan alhálózatra, amely minden lehetséges példányhoz elegendő IP-címmel rendelkezik. Legalább 100 elérhető címmel rendelkező IP-blokkra van szükség.
További információ: függvényalkalmazás integrálása virtuális hálózattal.
Gyors rugalmas skálázás
A rendszer automatikusan több számítási példányt ad hozzá az alkalmazáshoz ugyanazzal a gyors skálázási logikával, mint a Használati csomag. Az ugyanabban az App Service-csomagban lévő alkalmazások egymástól függetlenül skálázhatók az egyes alkalmazások igényei alapján. Az ugyanabban az App Service-csomagban lévő Functions-alkalmazások azonban virtuálisgép-erőforrásokat osztanak meg a költségek csökkentése érdekében, ha lehetséges. A virtuális géphez társított alkalmazások száma az egyes alkalmazások lábnyomától és a virtuális gép méretétől függ.
A skálázás működésével kapcsolatos további információkért tekintse meg az eseményvezérelt skálázást az Azure Functionsben.
Hosszabb futtatási időtartam
A használati tervben lévő függvények egyetlen végrehajtás esetén legfeljebb 10 percig használhatók. A Premium-csomagban a futtatás időtartama alapértelmezés szerint 30 perc, hogy megakadályozza a futtatásos végrehajtásokat. A host.json konfigurációt azonban módosíthatja úgy, hogy az időtartam korlátlan legyen a Prémium csomagbeli alkalmazások esetében, az alábbi korlátozásokkal:
- A platformfrissítések aktiválhatják a felügyelt leállítást, és leállíthatják a függvény végrehajtását.
- A platformkimaradások kezeletlen leállítást okozhatnak, és leállíthatják a függvény végrehajtását.
- Van egy tétlen időzítő, amely 60 perc után leállítja a feldolgozót új végrehajtás nélkül.
- A méretezési viselkedés 60 perc után a feldolgozó leállását okozhatja.
- A pontcserék megszakíthatják a végrehajtásokat a forráson és a célhelyeken a felcserélés során.
Migrálás
Ha rendelkezik egy meglévő függvényalkalmazással, az Azure CLI-parancsokkal migrálhatja az alkalmazást egy Használati csomag és egy Prémium szintű csomag között Windows rendszeren. Az egyes parancsok a migrálás irányától függenek. További információ: Migrálás megtervezve.
Ez a migrálás Linuxon nem támogatott.
Prémium csomag beállításai
A terv létrehozásakor két csomagméret-beállítás létezik: a példányok minimális száma (vagy a terv mérete) és a maximális kitörési korlát.
Ha az alkalmazásnak a mindig készen álló példányokon túli példányokra van szüksége, a vertikális felskálázás mindaddig folytatódhat, amíg a példányok száma eléri a csomag maximális kiugró korlátját, vagy ha konfigurálja az alkalmazás maximális vertikális felskálázási korlátját. A példányok számlázása csak akkor történik meg, ha azok futnak és ki vannak osztva Önnek másodpercenként. A platform minden tőle telhetőt megtesz annak érdekében, hogy az alkalmazást a megadott maximális korlátokra skálázhassa.
A csomag méretét és maximális méretét az Azure Portalon úgy konfigurálhatja, hogy az adott csomagban üzembe helyezett függvényalkalmazás Beállítások csoportjában a Méretezési beállítások lehetőséget választja.
Minden Prémium csomag minimális értéke legalább egy példány. A példányok tényleges minimális számát a csomagban lévő alkalmazások által kért, mindig kész példányok alapján határozzuk meg. Ha például az A alkalmazás öt mindig kész példányt kér, és a B alkalmazás két mindig kész példányt kér ugyanabban a tervben, a minimális csomagméret ötként lesz meghatározva. Az A alkalmazás mind az öten fut, a B alkalmazás pedig csak a 2-en fut.
Fontos
A minimális példányszámban lefoglalt példányokért díjat számítunk fel, függetlenül attól, hogy a függvények futnak-e vagy sem.
A legtöbb esetben ez az automatikusan kiszámított minimum elegendő. A minimumon túli skálázás azonban a legjobb megoldás. Lehetséges, bár nem valószínű, hogy egy adott időpontban a vertikális felskálázás késhet, ha más példányok nem érhetők el. Az automatikusan kiszámított minimumnál magasabb minimum beállításával a példányokat a felskálázás előtt lefoglalhatja.
A minimális példányokat az Azure Portalon úgy konfigurálhatja, hogy az adott csomagban üzembe helyezett függvényalkalmazás Beállításai területén a Vertikális felskálázási beállítások lehetőséget választja.
Elérhető példány-termékváltozatok
A csomag létrehozásakor vagy skálázásakor három példányméret közül választhat. A rendszer a kiosztott magok és memória teljes számát számítja fel másodpercenként, amelyet az egyes példányok kiosztanak Önnek. Az alkalmazás igény szerint automatikusan horizontálisan felskálázható több példányra.
Termékváltozat | Cores | Memory (Memória) | Tárolás |
---|---|---|---|
EP1 | 0 | 3,5 GB | 250 GB |
EP2 | 2 | 7 GB | 250 GB |
EP3 | 4 | 14 GB | 250 GB |
Memóriahasználati szempontok
A több memóriával rendelkező gépen való futtatás nem mindig jelenti azt, hogy a függvényalkalmazás az összes rendelkezésre álló memóriát használja.
Egy JavaScript-függvényalkalmazást például a Node.js alapértelmezett memóriakorlátja korlátozza. A rögzített memóriakorlát növeléséhez adja hozzá az alkalmazásbeállítást languageWorkers:node:arguments
a következő --max-old-space-size=<max memory in MB>
értékkel: .
A 4 GB-nál több memóriával rendelkező csomagok esetében győződjön meg arról, hogy 64 Bit
a Bitness Platform beállítása az Általános beállítások területen van beállítva.
Régió maximális vertikális felskálázása
Ezek a jelenleg támogatott maximális vertikális felskálázási értékek egyetlen csomaghoz az egyes régiókban és operációsrendszer-konfigurációkban:
Régió | Windows | Linux |
---|---|---|
Ausztrália középső régiója | 100 | 20 |
Ausztrália 2. középső régiója | 100 | Nincs |
Kelet-Ausztrália | 100 | 40 |
Délkelet-Ausztrália | 100 | 20 |
Dél-Brazília | 100 | 20 |
Közép-Kanada | 100 | 100 |
Közép-India | 100 | 20 |
Az USA középső régiója | 100 | 100 |
Kelet-Kína 2. régiója | 20 | 20 |
Észak-Kína 2. régiója | 20 | 20 |
Észak-Kína 3. régiója | 20 | 20 |
Kelet-Ázsia | 100 | 20 |
USA keleti régiója | 100 | 100 |
USA 2. keleti régiója | 80 | 100 |
Közép-Franciaország | 100 | 60 |
Középnyugat-Németország | 100 | 20 |
Izrael középső régiója | 100 | 20 |
Észak-Olaszország | 100 | 20 |
Kelet-Japán | 100 | 20 |
Nyugat-Japán | 100 | 20 |
Jio Nyugat-India | 100 | 20 |
Dél-Korea középső régiója | 100 | 20 |
Dél-Korea déli régiója | 40 | 20 |
Mexikó középső régiója | 20 | 20 |
USA északi középső régiója | 100 | 20 |
Észak-Európa | 100 | 100 |
Kelet-Norvégia | 100 | 20 |
Dél-Afrika északi régiója | 100 | 20 |
Dél-Afrika nyugati régiója | 20 | 20 |
USA déli középső régiója | 100 | 100 |
Dél-India | 100 | Nincs |
Délkelet-Ázsia | 100 | 20 |
Közép-Spanyolország | 20 | 20 |
Észak-Svájc | 100 | 20 |
Nyugat-Svájc | 100 | 20 |
Egyesült Arab Emírségek északi régiója | 100 | 20 |
Az Egyesült Királyság déli régiója | 100 | 100 |
Az Egyesült Királyság nyugati régiója | 100 | 20 |
USGov Arizona | 20 | 20 |
USGov Texas | 20 | Nincs |
USGov Virginia | 80 | 20 |
USA nyugati középső régiója | 100 | 20 |
Nyugat-Európa | 100 | 100 |
Nyugat-India | 100 | 20 |
USA nyugati régiója | 100 | 100 |
USA 2. nyugati régiója | 100 | 20 |
USA 3. nyugati régiója | 100 | 20 |
További információkért tekintse meg az Azure Functions teljes regionális elérhetőségét.