Sdílet prostřednictvím


Automatické škálování ve službě Aplikace Azure Service

Poznámka:

Automatické škálování je k dispozici pro všechny typy aplikací: Windows a Linux (nasazení jako kód a kontejner). Automatické škálování není podporováno pro provoz slotu nasazení.

Automatické škálování je nová možnost horizontálního navýšení kapacity, která automaticky zpracovává rozhodnutí o škálování webových aplikací a plánů služby App Service. Liší se od existujícího automatického škálování Azure, který umožňuje definovat pravidla škálování na základě plánů a prostředků. Díky automatickému škálování můžete upravit nastavení škálování, abyste zlepšili výkon aplikace a vyhnuli se problémům se studeným startem. Instance předwarmy platformy fungují jako vyrovnávací paměť při horizontálním navýšení kapacity a zajišťují hladký přechod výkonu. Za každou instanci, včetně předzbrojených instancí, se vám účtují poplatky za sekundu.

Porovnání možností škálování na více instancí a škálování dostupných ve službě App Service:

  Ruční Automatické škálování Automatické škálování
Dostupné cenové úrovně Základní a up Standard a Up Cenové úrovně Premium V2 (P1V2, P2V2, P3V2) a Premium V3 (P0V3, P1V3, P2V3, P3V3, P1MV3, P2MV3, P3MV3, P4MV3, P5MV3)
Škálování založené na pravidlech No Ano Ne, platforma spravuje škálování na více instancí a na základě provozu HTTP.
Škálování na základě plánu No Ano No
Vždy připravené instance Ne, vaše webová aplikace běží na počtu ručně škálovaných instancí. Ne, vaše webová aplikace běží na jiných instancích dostupných během operace horizontálního navýšení kapacity na základě prahové hodnoty definované pro pravidla automatického škálování. Ano (minimálně 1)
Předzbrojené instance No Ne Ano (výchozí 1)
Maximální počet aplikací No No Ano

Jak funguje automatické škálování

Pro plán služby App Service povolíte automatické škálování a nakonfigurujete řadu instancí pro každou z webových aplikací. Když vaše webová aplikace začne přijímat provoz HTTP, App Service sleduje zatížení a přidává instance. Prostředky se můžou sdílet, když se k horizontálnímu navýšení kapacity vyžaduje více webových aplikací v rámci plánu služby App Service současně.

Tady je několik scénářů, ve kterých byste měli automaticky škálovat:

  • Na základě metrik prostředků nechcete nastavovat pravidla automatického škálování.
  • Chcete, aby se vaše webové aplikace ve stejném plánu služby App Service škálují odlišně a nezávisle na sobě.
  • Vaše webová aplikace je připojená k databázím nebo starším systémům, které nemusí být škálovatelné tak rychle jako webová aplikace. Automatické škálování umožňuje nastavit maximální počet instancí, na které se dá plán služby App Service škálovat. Toto nastavení pomáhá webové aplikaci nezahltit back-end.

Povolení automatického škálování

Maximální nárůst kapacity je nejvyšší počet instancí, na které může váš plán služby App Service navýšit na základě příchozích požadavků HTTP. U plánů Premium v2 a v3 můžete nastavit maximální nárůst až 30 instancí. Maximální nárůst musí být roven nebo větší než počet pracovních procesů zadaných pro plán služby App Service.

Pokud chcete povolit automatické škálování, přejděte do levé nabídky webové aplikace a vyberte horizontální navýšení kapacity (plán služby App Service). Vyberte Možnost Automaticky, aktualizujte hodnotu maximálního nárůstu a vyberte tlačítko Uložit.

Automatické škálování na webu Azure Portal

Nastavení minimálního počtu instancí webové aplikace

Vždy připravené instance jsou nastavení na úrovni aplikace, které určuje minimální počet instancí. Pokud zatížení překročí to, co můžou vždy připravené instance zpracovat, přidají se další instance (až do zadaného maximálního nárůstu kapacity plánu služby App Service).

Pokud chcete nastavit minimální počet instancí webové aplikace, přejděte do levé nabídky webové aplikace a vyberte horizontální navýšení kapacity (plán služby App Service). Aktualizujte hodnotu instance Always Ready a vyberte tlačítko Uložit.

Snímek obrazovky s instancemi, které jsou vždy připravené

Nastavení maximálního počtu instancí webové aplikace

Maximální limit škálování nastaví maximální počet instancí, na které se může webová aplikace škálovat. Maximální limit škálování pomáhá, když podřízená komponenta, jako je databáze, má omezenou propustnost. Maximální počet jednotlivých aplikací může být mezi 1 a maximálním nárůstem.

Pokud chcete nastavit maximální počet instancí webové aplikace, přejděte do levé nabídky webové aplikace a vyberte horizontální navýšení kapacity (plán služby App Service). Vyberte Vynutit limit horizontálního navýšení kapacity, aktualizujte limit maximálního škálování a vyberte tlačítko Uložit .

Snímek obrazovky s maximálním limitem škálování

Aktualizace předzbrojených instancí

Nastavení předpřipravené instance poskytuje zahřáté instance jako vyrovnávací paměť během událostí škálování HTTP a aktivace. Předzbrojené instance se budou dál ukládat do vyrovnávací paměti, dokud nedosáhnete maximálního limitu horizontálního navýšení kapacity. Výchozí počet předzbrojených instancí je 1 a ve většině scénářů by tato hodnota měla zůstat 1.

Na portálu nemůžete změnit nastavení předzbrojené instance, musíte místo toho použít Azure CLI.

Zakázání automatického škálování

Pokud chcete automatické škálování zakázat, přejděte do levé nabídky webové aplikace a vyberte horizontální navýšení kapacity (plán služby App Service). Vyberte Možnost Ručně a vyberte tlačítko Uložit .

Snímek obrazovky s ručním škálováním

Podporuje automatické škálování aplikace Funkcí Azure?

Upozornění

Automatické škálování je zakázané, když jsou webové aplikace služby App Service a aplikace Azure Functions ve stejném plánu služby App Service.

Ne, webové aplikace služby Aplikace Azure můžete mít jenom v plánu služby App Service, kde chcete povolit automatické škálování. Pro Službu Functions se doporučuje místo toho použít plán Azure Functions Premium.

Jak automatické škálování funguje na pozadí?

Aplikace nastavené na automatické škálování se nepřetržitě monitorují a hodnocení stavu pracovních procesů probíhá alespoň jednou za několik sekund. Pokud systém zjistí zvýšené zatížení aplikace, budou se kontroly stavu častější. V případě deteriorace stavu pracovního procesu a zpomalení požadavků se požadují další instance. Rychlost přidání instancí se liší v závislosti na vzoru zatížení jednotlivých aplikací a čase spuštění. Aplikace s krátkými časy spuštění a přerušovaným nárůstem zatížení můžou vidět jeden virtuální počítač přidaný každých několik sekund na minutu.

Jakmile se zatížení zkrátí, platforma zahájí kontrolu potenciálního škálování. Tento proces obvykle začíná přibližně 5 až 10 minut poté, co se zatížení přestane zvyšovat. Během škálování se instance odeberou maximálně jednou za několik sekund až minutu.

Navíc pokud je v rámci stejného plánu služby App Service nasazeno více webových aplikací, platforma se snaží přidělit prostředky napříč dostupnými instancemi na základě zatížení jednotlivých webových aplikací.

Návody se fakturují za předzbrojené instance?

Abyste pochopili, jak se vám účtují předem připravené instance, zvažte tento scénář: Řekněme, že vaše webová aplikace má pět instancí, které jsou vždy připravené, společně s jednou předzbrojenou instancí nastavenou jako výchozí.

Pokud je vaše webová aplikace nečinná a nepřijímá žádné požadavky HTTP, spustí se s pěti instancemi, které jsou vždy připravené. Během této doby se vám neúčtuje předem připravená instance, protože se nevyužívá vždy připravené instance, a proto není přidělena žádná předzbrojená instance.

Jakmile ale vaše webová aplikace začne přijímat požadavky HTTP a pět instancí, které jsou vždy připravené, přidělí se předem připravená instance a začne fakturace.

Pokud se míra požadavků HTTP stále zvyšuje a App Service se rozhodne škálovat nad rámec počátečních pěti instancí, začne využívat předzbrojenou instanci. To znamená, že pokud existuje šest aktivních instancí, je okamžitě zřízena sedmá instance pro naplnění předzbrojené vyrovnávací paměti.

Tento proces škálování a předběžného vytváření bude pokračovat, dokud nedosáhnete maximálního počtu instancí aplikace. Je důležité si uvědomit, že žádné instance nejsou předzbrojené nebo aktivované nad rámec maximálního počtu instancí.

Proč mají protokolové záznamy appServiceHTTPLogs podobné hodnotě jako /admin/host/ping se stavem 404?

Automatické škálování služby App Service pravidelně kontroluje /admin/host/ping koncový bod spolu s dalšími mechanismy kontroly stavu, které jsou součástí platformy. Tyto kontroly jsou konkrétně implementované funkce. V některých případech můžou tyto příkazy ping vrátit chyby 404 kvůli stávajícím konfiguracím platformy. Je ale důležité si uvědomit, že tyto chyby 404 by neměly mít vliv na dostupnost nebo škálování vaší aplikace.

Pokud vaše webová aplikace vrátí stav 5xx, můžou tyto příkazy ping koncového bodu způsobit přerušované restartování, i když je to neobvyklé. V současné době implementujeme vylepšení, která řeší tyto přerušované restartování. Do té doby se ujistěte, že vaše webová aplikace nevrací stav 5xx na tomto koncovém bodu. Mějte na paměti, že tyto koncové body ping není možné přizpůsobit.

Návody sledovat počet instancí horizontálního navýšení kapacity během události automatického škálování?

Metrika AutomaticScalingInstanceCount bude hlásit počet virtuálních počítačů, na kterých je aplikace spuštěná, včetně předzbrojené instance, pokud je nasazená. Tuto metriku můžete použít také ke sledování maximálního počtu instancí, které vaše webová aplikace škálovala během události automatického škálování. Tato metrika je dostupná jenom pro aplikace s povoleným automatickým škálováním.

Jaký vliv má spřažení ARR na automatické škálování?

Aplikace Azure Služba používá soubory cookie směrování požadavků aplikace označované jako spřažení ARR. Soubory cookie spřažení ARR omezují škálování, protože odesílají požadavky pouze na servery přidružené k souboru cookie, a ne na jakoukoli dostupnou instanci. U aplikací, které ukládají stav, je lepší vertikálně navýšit kapacitu (zvýšit kapacitu prostředků na jednu instanci). U bezstavových aplikací nabízí horizontální navýšení kapacity (přidání dalších instancí) větší flexibilitu a škálovatelnost. Soubory cookie spřažení ARR jsou ve službě App Service ve výchozím nastavení povolené. V závislosti na potřebách vaší aplikace se při použití automatického škálování můžete rozhodnout zakázat soubory cookie spřažení ARR.

Chcete-li zakázat soubory cookie spřažení ARR: vyberte aplikaci App Service a v části Nastavení vyberte Možnost Konfigurace. Dále vyberte kartu Obecné nastavení . V části Spřažení ARR vyberte Vypnuto a pak vyberte tlačítko Uložit .

Další materiály