Megosztás a következőn keresztül:


Automatikus skálázás Azure-alkalmazás szolgáltatásban

Feljegyzés

Az automatikus skálázás minden alkalmazástípushoz elérhető: Windows és Linux (kódként vagy tárolóként való üzembe helyezés).
Az automatikus skálázás nem támogatott a telepítési rés forgalmához.

Az automatikus skálázás egy horizontális felskálázási lehetőség, amely automatikusan kezeli a webalkalmazások és az App Service-csomagok méretezési döntéseit. Ez eltér az Azure automatikus skálázásától, így skálázási szabályokat határozhat meg metrikák és ütemezések alapján.

Az automatikus méretezéssel a skálázási beállításokat a teljesítmény javítása és a hidegindítási késleltetés csökkentése érdekében módosíthatja. A platform előmelegíti a példányokat, hogy pufferként működjenek, ezzel biztosítva a zökkenőmentes skálázási átmeneteket. Minden példányért másodpercenként kell fizetnie, beleértve az előmelegített példányokat is.

Mielőtt hozzákezdene

Az App Service automatikus skálázása különbözik az autoscale funkciótól.
Automatikus skálázást akkor használjon, ha azt szeretné, hogy az App Service a HTTP-forgalom alapján automatikusan kezelje a skálázást szabályok vagy ütemezések létrehozása nélkül.

Automatikus skálázás (ez a cikk):

  • Automatikus skálázás a bejövő HTTP-forgalom alapján
  • Alkalmazásonként konfigurálva
  • Támogatja az Always Ready, az alkalmazásonkénti korlátokat, a maximális kipukkadást és az előre elkészített példányokat

Automatikus skálázás:

  • Metrikákat használ (CPU, memória, üzenetsor hossza, egyéni metrikák)
  • Támogatja az ütemezésalapú skálázást
  • A teljes App Service-csomagra vonatkozik

Ha processzor-, memória- vagy időalapú skálázásra van szüksége, használja inkább az automatikus skálázást.
Egy App Service-csomaghoz csak egy méretezési módszernek kell aktívnak lennie.

Az App Service-ben elérhető vertikális felskálázási lehetőségek

  Kézikönyv Automatikus méretezés Automatikus skálázás
Elérhető szintek Alapszintű és magasabb szintek Standard feletti Prémium v2 és Premium v3
Szabályalapú skálázás Nem Igen Nem (forgalomalapú)
Ütemezésalapú skálázás Nem Igen Nem
Mindig kész példányok Nem Nem Igen (legalább 1)
Előmelegített példányok Nem Nem Igen (alapértelmezett 1)
Alkalmazásonkénti maximális érték Nem Nem Igen
ARR affinitás viselkedése Alapértelmezés szerint be Bekapcsolva, kivéve, ha manuálisan le van tiltva Manuálisan le kell tiltani

Az automatikus skálázás működése

Engedélyezheti az automatikus skálázást egy App Service-csomaghoz, és konfigurálhat egy példánytartományt az egyes webalkalmazásokhoz. Ahogy a webalkalmazás ELKEZD HTTP-forgalmat fogadni, az App Service figyeli a terhelést, és példányokat ad hozzá. Az erőforrások akkor oszthatók meg, ha egy App Service-csomagon belül több webalkalmazásra van szükség az egyidejű skálázáshoz.

Íme néhány forgatókönyv, amikor automatikusan ki kell terjeszteni a skálázást:

  • Nem szeretne erőforrásmetrikák alapján automatikus skálázási szabályokat beállítani.
  • Azt szeretné, hogy az ugyanabban az App Service-csomagban lévő webalkalmazásai egymástól eltérően és egymástól függetlenül skálázhatók.
  • A webalkalmazás egy adatbázishoz vagy régi rendszerhez csatlakozik, amely nem feltétlenül olyan gyorsan méretezhető, mint a webalkalmazás. A méretezés automatikusan lehetővé teszi az App Service-csomagban skálázható példányok maximális számának beállítását. Ez a beállítás segít a webalkalmazásnak, hogy ne terhelje túl a háttérrendszert.

Automatikus skálázás engedélyezése

A Maximális terhelés beállítás azt a legnagyobb példányszámot jelöli, amelyre az App Service-csomag a bejövő HTTP-kérések alapján emelhető. Prémium v2 és v3 csomag esetén legfeljebb 30 példányt adhat meg. A maximális kitörésszámnak egyenlőnek vagy nagyobbnak kell lennie, mint az App Service tervhez megadott dolgozók száma.

Az automatikus skálázás engedélyezéséhez nyissa meg a webalkalmazás bal oldali menüjét. A Beállítások területen válassza a Felskálázás (App Service-csomag) lehetőséget. Válassza az Automatikus lehetőséget, frissítse a maximális kipukkanás értéket, és válassza a Mentés gombot.

Képernyőkép az Automatikus skálázásról az Azure Portalon

A webalkalmazás-példányok minimális számának beállítása

Az alkalmazásszintű Always ready példányok beállítás határozza meg a példányok minimális számát. Ha a terhelés meghaladja az Always ready példányokban beállított minimális számot, a rendszer további példányokat ad hozzá az App Service-csomaghoz megadott maximális kipukkadási értékig.

A webalkalmazás-példányok minimális számának beállításához nyissa meg a webalkalmazás bal oldali menüjét, és válassza a Kiskálázás (App Service-csomag) lehetőséget. Frissítse a Mindig kész példányok értéket, és válassza a Mentés gombot.

A mindig készen álló példányok képernyőképe.

A webalkalmazás-példányok maximális számának beállítása

A Maximális skálázási korlát azt határozza meg, hogy egy webalkalmazás hány példányra skálázhat. A maximális méretezési korlát akkor hasznos, ha egy alsóbb rétegbeli összetevő, például egy adatbázis korlátozott átviteli sebességgel rendelkezik. Az alkalmazásonkénti maximális érték 1 és a maximális kitörési érték között lehet.

A webalkalmazás-példányok maximális számának beállításához nyissa meg a webalkalmazás bal oldali menüjét, és válassza a Felskálázás (App Service-csomag) lehetőséget. Válassza a Vertikális felskálázási korlát kényszerítése lehetőséget, frissítse a maximális méretezési korlátot, és válassza a Mentés gombot.

Képernyőkép a maximális méretezési korlátról.

Előmelegített példányok frissítése

Az előre elkészített példánybeá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 bemelegített instanciák mindaddig pufferelnek, amíg el nem érik a maximális vízszintes 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.

A portálon nem módosíthatja az előre elkészített példánybeállítást. Ehelyett az Azure CLI-t kell használnia.

Automatikus skálázás letiltása

Az automatikus skálázás letiltásához nyissa meg a webalkalmazás bal oldali menüjét, és válassza a Horizontális felskálázás (App Service-csomag) lehetőséget. Válassza a Manuális lehetőséget , és válassza a Mentés gombot.

Képernyőkép a manuális skálázásról.

Gyakori kérdések

Az automatikus skálázás támogatja az Azure Functions-alkalmazásokat?

Nem, az Azure App Service-webalkalmazások csak abban az App Service-csomagban lehetnek, amelyben engedélyezni szeretné az automatikus skálázást. Az Azure Functions-alkalmazások esetében javasoljuk, hogy inkább az Azure Functions Premium csomagot használja.

Figyelemfelhívás

Az automatikus skálázás le van tiltva, ha az App Service-webalkalmazások és az Azure Functions-alkalmazások ugyanabban az App Service-csomagban vannak.

Hogyan működik az automatikus skálázás a színfalak mögött?

Az automatikus skálázásra beállított alkalmazásokat a rendszer folyamatosan figyeli, és a feldolgozói állapotfelmérések néhány másodpercenként legalább egyszer történnek. Ha a rendszer nagyobb terhelést észlel az alkalmazáson, az állapot-ellenőrzések gyakoribbá válnak. Ha a munkások egészségi állapota romlik, és lelassul a munkavégzés, a rendszer más példányokat is kér. A példányok hozzáadásának sebessége az egyes alkalmazások terhelési mintájától és indítási idejétől függően változik. Azok az alkalmazások, amelyek rövid indítási idővel és időszakos terheléssel rendelkeznek, néhány másodpercenként vagy akár egy perc alatt új virtuális gépet adhatnak hozzá.

Ha a terhelés csökken, a platform felülvizsgálatot kezdeményez a lehetséges skálázásról. Ez a folyamat általában körülbelül 5-10 perccel azután kezdődik, hogy a terhelés már nem növekszik. A skálázás során a példányok eltávolítása legfeljebb olyan gyakran történik, hogy néhány másodpercenként vagy percenként egy.

Ha több webalkalmazás is üzembe van helyezve ugyanabban az App Service-tervben, a platform megpróbálja elosztani az erőforrásokat az elérhető példányok között. Ez a kiosztás az egyes webalkalmazások terhelésén alapul.

Hogyan kap számlát az előre elkészített példányokért?

Az előre elkészített példányok számlázásának megértéséhez fontolja meg ezt a forgatókönyvet: Tegyük fel, hogy a webalkalmazás öt, mindig készen lévő példányt és egy előre elkészített példányt állít be alapértelmezettként.

Ha a webalkalmazás tétlen, és nem kap HTTP-kéréseket, az öt mindig készen lévő példánysal fut. Ez idő alatt nem számítunk fel díjat előmelegített példányokra, mert a mindig készen álló példányok nincsenek használatban, így nem történik előmelegített példányok kiosztása.

Amint azonban a webalkalmazás elkezd HTTP-kéréseket fogadni, és az öt mindig készen lévő példány aktívvá válik, egy előre létrehozott példány lesz lefoglalva. A számlázás ezen a ponton kezdődik.

Ha a HTTP-kérelmek száma folyamatosan növekszik, és az App Service úgy dönt, hogy a kezdeti öt példányon túli skálázás mellett dönt, elkezdi használni az előre elkészített példányt. Ez azt jelenti, hogy ha hat aktív példány van, a rendszer azonnal kiépít egy hetedik példányt az előre elkészített puffer kitöltéséhez.

Ez a skálázási és előmelegítési folyamat addig folytatódik, amíg el nem éri az alkalmazás maximális példányok számát. Fontos megjegyezni, hogy egyetlen példány sem kerül előre felfűtésre vagy aktiválásra a maximális példányszám fölött.

Miért vannak AppServiceHTTPLogs-nek a /admin/host/ping-hez hasonló naplóbejegyzések 404-es státusszal?

Az App Service automatikus skálázása rendszeresen ellenőrzi a /admin/host/ping végpontot, valamint a platformhoz tartozó egyéb állapot-ellenőrzési mechanizmusokat. Előfordulhat, hogy a meglévő platformkonfigurációk miatt ezek a pingek 404 hibát adnak vissza. Fontos azonban megjegyezni, hogy ezek a 404-hibák nem befolyásolhatják az alkalmazás rendelkezésre állását vagy skálázási teljesítményét.

Ha a webalkalmazás 5xx állapotot ad vissza, ezek a végponti pingek időnként újraindulhatnak, bár ez a forgatókönyv nem gyakori. Győződjön meg arról, hogy a webalkalmazás nem ad vissza 5xx állapotot ezen a végponton. Ezek a pingvégpontok nem szabhatók testre.

Hogyan követhetem nyomon az automatikus skálázás során felskálázott példányok számát?

A AutomaticScalingInstanceCount metrika az alkalmazás által futtatott virtuális gépek számát jelenti, beleértve az előre elkészített példányt is, ha telepítve van. Ez a metrika a webalkalmazás automatikus skálázási esemény során felskálázott példányainak maximális számának nyomon követésére is használható. Ez a metrika csak azokhoz az alkalmazásokhoz érhető el, amelyeken engedélyezve van az automatikus skálázás .

Hogyan befolyásolja az ARR affinitás az automatikus skálázást?

Feljegyzés

Ha engedélyezi az Automatikus skálázást az App Service-csomagban, a csomag összes meglévő alkalmazása automatikusan letiltja az ARR affinitást.

Azure-alkalmazás szolgáltatás az ARR Affinity néven ismert alkalmazáskérés-útválasztási cookie-kat használja. Az ARR Affinity cookie-k azért korlátozzák a skálázást, mert a kéréseket a rendelkezésre álló példányok helyett csak a cookie-hoz társított kiszolgálókra küldik. Az állapotot tároló alkalmazások esetében jobb a vertikális felskálázás (az erőforrások növelése egyetlen példányon). Az állapot nélküli alkalmazások esetében a horizontális felskálázás (több példány hozzáadása) nagyobb rugalmasságot és méretezhetőséget biztosít. Az ARR Affinity cookie-k alapértelmezés szerint engedélyezve vannak az App Service-ben. Az automatikus skálázás használatakor azonban le kell tiltania az ARR affinitási cookie-kat a megfelelő skálázás biztosítása érdekében.

Az ARR Affinity-cookie-k letiltásához válassza ki az App Service-alkalmazást, majd a Beállítások területen válassza a Konfiguráció lehetőséget. Ezután válassza az Általános beállítások lapot. A Munkamenet-affinitás területen válassza a Ki , majd a Mentés gombot.

Miért jelenik meg több hozzárendelt példány az App Service-csomagomban, mint az alkalmazásaim "always on" beállításai szerint?

Ez akkor fordulhat elő, ha a csomag hozzárendelt példányai magasabbak, mint a csomag bármely alkalmazása által használt legmagasabb, mindig kész példányszám. A hozzárendelt példányok a terv által futtatandó példányok minimális számát jelölik. Ha ez az érték magasabb, mint a mindig kész értékek, a terv továbbra is ezt a minimumot használja.

A konfiguráció javításához frissítse a csomag bármely alkalmazásának mindig kész példányszámát. Módosítania kell az értéket. Ugyanannak az értéknek a mentése nem indítja el az újraszámítást. A frissítés után a terv a hozzárendelt példányszámot a csomag összes alkalmazásában a legmagasabb mindig kész értékre állítja.

Ezt a frissítést cli vagy Azure Resource Manager API használatával kell elvégeznie. Az Azure Portal jelenleg nem alkalmazza megfelelően az újraszámítást.

Példa: Egy terv 7 hozzárendelt példánysal rendelkezhet. A csomagban szereplő alkalmazások mindig 2, 3 és 5 kész értékkel rendelkezhetnek. A számlázás 7-en alapul, mert ez a példányok minimális száma. Ha módosítja bármelyik alkalmazás mindig kész értékét, például 3-ról 4-re, a terv újraszámít. Ezután a hozzárendelt példányok számát 5-re állítja, amely a legmagasabb mindig kész érték.