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 és tárolóként való üzembe helyezés). Az automatikus skálázás nem támogatott az üzembehelyezési pont forgalmához.
Az automatikus skálázás egy új 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 a már meglévő Azure-beli automatikus skálázástól, így ütemezések és erőforrások alapján skálázási szabályokat határozhat meg. Az automatikus skálázással módosíthatja a méretezési beállításokat az alkalmazás teljesítményének javítása és a hidegindítási problémák elkerülése érdekében. A platform a horizontális felskálázáskor pufferként működik, biztosítva a zökkenőmentes teljesítményváltást. Minden példányért másodpercenkénti díjat számítunk fel, beleértve az előre elkészített példányokat is.
Az App Service-ben elérhető vertikális felskálázás és skálázás összehasonlítása:
Kézi | Automatikus méretezés | Automatikus skálázás | |
---|---|---|---|
Elérhető tarifacsomagok | Alapszintű és felfelé | Standard és Up | Prémium V2 (P1V2, P2V2, P3V2) és Prémium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P2MV3, P4MV3, P5MV3) tarifacsomagok |
Szabályalapú skálázás | Nem | Igen | Nem, a platform kezeli a vertikális felskálázást és a HTTP-forgalom alapján. |
Ütemezésalapú skálázás | Nem | Igen | Nem |
Mindig kész példányok | Nem, a webalkalmazás a manuálisan skálázott példányok számán fut. | Nem, a webalkalmazás más, a vertikális felskálázási művelet során elérhető példányokon fut az automatikus skálázási szabályokhoz meghatározott küszöbérték alapján. | Igen (legalább 1) |
Előre elkészített példányok | Nem | Nem | Igen (alapértelmezett 1) |
Alkalmazásonkénti maximális érték | Nem | Nem | Igen |
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-csomagban több webalkalmazásra van szükség a vertikális felskálázáshoz.
Íme néhány forgatókönyv, ahol automatikusan fel kell méreteznie a méretet:
- 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ások 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 kipukkadás az App Service-csomag által a bejövő HTTP-kérések alapján növelhető példányok száma. Prémium v2 és v3 csomagok esetén legfeljebb 30 példányt állíthat be. A maximális felszakadásnak egyenlőnek vagy nagyobbnak kell lennie, mint az App Service-csomaghoz megadott feldolgozók száma.
Az automatikus skálázás engedélyezéséhez keresse meg a webalkalmazás bal oldali menüjét, és válassza a horizontális felskálázást (App Service-csomag). Válassza az Automatikus lehetőséget, frissítse a maximális kipukkanás értéket, és válassza a Mentés gombot.
Webalkalmazás-példányok minimális számának beállítása
A Mindig kész példányok alkalmazásszintű beállítás a példányok minimális számának megadásához. Ha a terhelés meghaladja azt, amit a mindig kész példányok kezelni tudnak, további példányok lesznek hozzáadva (az App Service-csomaghoz megadott maximális kiugró értékig ).
A webalkalmazás-példányok minimális számának beállításához keresse meg a webalkalmazás bal oldali menüjét, és válassza a vertikális felskálázást (App Service-csomag). Frissítse a Mindig kész példányok értéket, és válassza a Mentés gombot.
Webalkalmazás-példányok maximális számának beállítása
A maximális méretezési korlát azt határozza meg, hogy a webalkalmazások hány példányra méretezhetők. A maximális méretezési korlát segít, 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 kipukkadás között lehet.
A webalkalmazás-példányok maximális számának beállításához keresse meg a webalkalmazás bal oldali menüjét, és válassza a vertikális felskálázást (App Service-csomag). 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.
Előre elkészí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 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.
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 keresse meg a webalkalmazás bal oldali menüjét, és válassza a horizontális felskálázást (App Service-csomag). Válassza a Manuális lehetőséget, majd a Mentés gombot.
Az automatikus skálázás támogatja az Azure-függvényalkalmazásokat?
Figyelemfelhívás
Az automatikus skálázás le van tiltva, ha az App Service-webalkalmazások és az Azure-függvényalkalmazások ugyanabban az App Service-csomagban vannak.
Nem, csak Azure-alkalmazás Service-webalkalmazásokat használhat az App Service-csomagban, ahol engedélyezni szeretné az automatikus skálázást. A Functions esetében javasoljuk, hogy inkább az Azure Functions Premium csomagot használja.
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. A feldolgozó állapotának romlása és a kérelmek lelassulása esetén további példányokat kérnek. 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. A rövid indítási időt és időszakos terhelést tartalmazó alkalmazások néhány másodpercenként egy virtuális gépet adhatnak hozzá percenként.
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 a terhelés növekedése után kezdődik. A skálázás során a példányok néhány másodpercenként és percenként legfeljebb egy sebességgel lesznek eltávolítva.
Ezenkívül ha több webalkalmazás is üzembe van helyezve ugyanabban az App Service-csomagban, a platform arra törekszik, hogy az egyes webalkalmazások terhelése alapján lefoglalja az erőforrásokat az elérhető példányok között.
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 előre elkészített példányokat, mert a mindig készen álló példányok nincsenek használatban, ezért nincs elővetített példány lefoglalva.
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, és megkezdődik a számlázás.
Ha a HTTP-kérések száma folyamatosan nő, é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őmegjelenítési folyamat addig folytatódik, amíg el nem éri az alkalmazás maximális példányszámát. Fontos megjegyezni, hogy a példányok száma meghaladja a maximális példányszámot, és nem aktiválódik előre.
Miért rendelkeznek az AppServiceHTTPLogs naplóbejegyzései a "/admin/host/ping" állapothoz hasonló, 404-hez hasonló naplóbejegyzésekkel?
Az App Service automatikus skálázása rendszeresen ellenőrzi a végpontot a /admin/host/ping
platformhoz tartozó egyéb állapot-ellenőrzési mechanizmusokkal együtt. Ezek az ellenőrzések kifejezetten implementált funkciók. Előfordulhat, hogy a meglévő platformkonfigurációk miatt ezek a pingek 404-et 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őszakos újraindítást eredményezhetnek, bár ez nem gyakori. Jelenleg fejlesztéseket vezetünk be az időszakos újraindítások kezeléséhez. Addig győződjön meg arról, hogy a webalkalmazás nem ad vissza 5xx állapotot ezen a végponton. Vegye figyelembe, hogy ezek a pingvégpontok nem szabhatók testre.
Hogyan nyomon követni a felskálázott példányok számát az automatikus méretezési esemény során?
Az AutomaticScalingInstanceCount metrika a virtuális gépek számát jelenti, amelyen az alkalmazás fut, 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ányok 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?
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 alkalmazás igényeitől függően dönthet úgy, hogy letiltja az ARR affinitási cookie-kat az automatikus skálázás használatakor.
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. Az ARR affinitás alatt válassza a Ki, majd a Mentés gombot.