Konfigurace škálovací sady virtuálních počítačů

Dokončeno

Při škálování přidáte instance do škálovací sady virtuálních počítačů. Ve scénáři přepravní firmy je škálování dobrým způsobem, jak zvládnout měnící se počet požadavků v průběhu času. Škálování upraví počet virtuálních počítačů, na kterých se webová aplikace spouští, protože se mění počet uživatelů. Systém tak má stálou dobu odezvy bez ohledu na aktuální zatížení.

V této lekci se naučíte škálovat škálovací sadu virtuálních počítačů. Můžete škálovat ručně explicitním nastavením počtu instancí virtuálních počítačů ve škálovací sadě. Automatické škálování můžete nakonfigurovat definováním pravidel škálování, která aktivují přidělení a uvolnění virtuálních počítačů. Tato pravidla škálování pomocí monitorování různých výkonnostních metrik určují, kdy se systém má škálovat.

Ruční škálování škálovacích sad virtuálních počítačů

Škálovací sadu virtuálních počítačů škálujete ručně zvýšením nebo snížením počtu instancí. Tuto úlohu můžete provést programově nebo přes Azure Portal.

Následující kód používá Azure CLI ke změně počtu instancí ve škálovací sadě virtuálních počítačů:

az vmss scale \
  --name webServerScaleSet \
  --resource-group MyResourceGroup \
  --new-capacity 6

Automatické škálování škálovacích sad virtuálních počítačů

Ruční škálování je za určitých okolností užitečné. V mnoha situacích je ale lepší použít automatické škálování. Díky němu může systém řídit počet instancí ve škálovací sadě.

Můžete použít tyto typy automatického škálování:

  • Plán: Tento přístup použijte, pokud víte, že máte zvýšenou úlohu v zadaném datu nebo časovém období.
  • Metriky: Upravte škálování monitorováním metrik výkonu přidružených ke škálovací sadě. Pokud tyto metriky překročí zadanou prahovou hodnotu, může škálovací sada automaticky spustit nové instance virtuálních počítačů. Pokud metriky značí, že další prostředky už nejsou potřeba, může škálovací sada zastavit všechny nadbytečné instance.

Definování podmínek, pravidel a limitů automatického škálování

Automatické škálování je založené na množině podmínek, pravidel a limitů škálování. Podmínka škálování kombinuje čas a sadu pravidel škálování. Pokud aktuální čas spadá do období definovaného v podmínce škálování, vyhodnotí se pravidla škálování v této podmínce. Výsledek tohoto vyhodnocení určuje, jestli se ve škálovací sadě mají přidat nebo odebrat instance. Podmínka škálování definuje také limity škálování určující maximální a minimální počet instancí.

Ve scénáři přepravní firmy můžete přidat pravidla škálování, která monitorují využití procesoru napříč škálovací sadou. Pokud využití procesoru překročí prahovou hodnotu 75 %, navýší pravidlo škálování počet instancí virtuálních počítačů. Druhé pravidlo škálování může také monitorovat využití procesoru, ale snížit počet instancí virtuálních počítačů, když využití klesne pod 50 procent. Vzhledem k tomu, že aplikace je globální, by tato pravidla měla být aktivní neustále, nikoli jen v určitých hodinách.

Škálovací sada virtuálních počítačů může obsahovat mnoho podmínek škálování. Při každé shodující se podmínce škálování se provede nějaká akce. Škálovací sada může také obsahovat výchozí podmínku škálování, která se použije, pokud žádné jiné podmínky škálování neodpovídají aktuálnímu času a metrikám výkonu. Tato výchozí podmínka škálování je trvale aktivní. Neobsahuje žádná pravidla škálování, která efektivně fungují jako podmínka škálování s hodnotou null , která nespadá na více nebo více instancí. Výchozí podmínku škálování ale můžete upravit tak, aby nastavovala výchozí počet instancí, nebo můžete přidat dvojici pravidel škálování, která horizontální navýšení a opětovné navýšení kapacity na více instancí.

Použití automatického škálování na základě plánu

Škálování na základě plánu určuje počáteční a koncový čas a počet instancí, které se mají přidat do škálovací sady. Následující snímek obrazovky ukazuje příklad na webu Azure Portal. Počet instancí se každé pondělí a středu mezi 6:00 a 18:00 horizontálně rozšíří na 20. Pokud neexistují žádné jiné podmínky škálování, pak se mimo tyto časy použije výchozí podmínka škálování.

V tomto případě bude výchozí pravidlo systém škálovat zpět na dvě instance. Jedná se o hodnotu Maximum v této výchozí podmínce škálování.

Snímek obrazovky s příkladem podmínky pro škálování na základě plánu

Použití automatického škálování na základě metrik

Pravidlo škálování na základě metrik určuje prostředky, které se mají monitorovat, jako je využití procesoru nebo doba odezvy. Toto pravidlo škálování přidává nebo odebírá instance ze škálovací sady podle hodnot těchto metrik. Můžete určit omezení počtu instancí, abyste zabránili nadměrnému horizontálnímu navýšení nebo snížení kapacity škálovací sady.

V tomto ukázkovém scénáři chcete zvýšit počet instancí o jednu, když průměrné využití procesoru překročí 75 %. Kromě toho chcete operaci horizontálního rozšíření kapacity omezit na 50 instancí. Tento limit pomůže zabránit nákladnému a neovladatelnému škálování způsobenému útokem. Podobně chcete horizontálně snížit kapacitu, když průměrné využití procesoru klesne pod 50 %.

Tyto metriky se běžně používají k monitorování škálovací sady virtuálních počítačů:

  • Procento procesoru: Tato metrika označuje využití procesoru ve všech instancích. Vysoká hodnota značí, že instance začínají být vázané na procesor, což by mohlo pozdržet zpracování žádostí klientů.
  • Příchozí toky a odchozí toky: Tyto metriky ukazují, jak rychlý síťový provoz proudí do a z virtuálních počítačů ve škálovací sadě.
  • Operace čtení disků za sekundu a operace zápisu disku za sekundu: Tyto metriky zobrazují objem vstupně-výstupních operací disku ve škálovací sadě.
  • Hloubka fronty datového disku: Tato metrika ukazuje, kolik vstupně-výstupních požadavků na datové disky na virtuálních počítačích čeká na obsluhu.

Pravidlo škálování agreguje hodnoty metriky získané pro všechny instance. Agreguje hodnoty za časové období označované jako agregační interval. Každá metrika má vnitřní agregační interval, ale obvykle je toto období jedna minuta. Agregovaná hodnota se označuje jako časová agregace. Možnostmi pro časovou agregaci jsou Průměr, Minimum, Maximum, Součet, Poslední a Počet.

Jednominutový interval je velmi krátký na to, abyste zjistili, jestli budou změny metriky trvat dostatečně dlouho, aby bylo vhodné provést automatické škálování. Pravidlo škálování provede druhý krok, který dále agreguje hodnotu časové agregace pro delší, uživatelem zadanou dobu. Tato doba se označuje jako doba trvání. Minimální doba trvání je pět minut. Pokud je doba trvání nastavená například na 10 minut, agreguje pravidlo škálování 10 hodnot vypočítaných pro agregační interval.

Výpočet agregace pro dobu trvání se může lišit od výpočtu pro agregační interval. Předpokládejme například, že časová agregace je Průměr a shromážděná statistika je Procento CPU v jednominutovém agregačním intervalu. Pro každou minutu se vypočítá průměrné procento využití procesoru ve všech instancích během této minuty. Pokud je statistika agregačního intervalu nastavena na Maximum a doba trvání pravidla je nastavena na 10 minut, použije se ke zjištění toho, jestli byla překročena prahová hodnota pravidla, maximum 10 průměrných hodnot využití procesoru.

Když pravidlo škálování zjistí, že metrika překročí prahovou hodnotu, může provést akci škálování. Touto akcí může být horizontální rozšíření kapacity nebo horizontální snížení kapacity. Akce horizontálního rozšíření kapacity počet instancí zvyšuje. Akce horizontálního snížení kapacity jejich počet snižuje.

Akce škálování při určování toho, jak reagovat na prahovou hodnotu, používá operátor, například menší než, větší než nebo rovno. Akce horizontálního navýšení kapacity obvykle používají operátor větší než k porovnání hodnoty metriky s prahovou hodnotou. Akce horizontálního snížení kapacity většinou porovnávají hodnotu metriky s prahovou hodnotou pomocí operátoru menší než. Akce škálování také nastavuje počet instancí na konkrétní úroveň, a nezvyšuje ani nesnižuje počet dostupných instancí.

Akce škálování má dobu přestávky určenou v minutách. Během této doby se pravidlo škálování znovu neaktivuje. Tato přestávka umožňuje systém mezi událostmi škálování stabilizovat. Spuštění nebo vypnutí instancí chvíli trvá, takže shromážděné metriky nemusí po několik minut vykazovat žádné zásadní změny. Minimální doba přestávky je pět minut.

Nakonec byste měli naplánovat škálování na více instancí, když dojde ke snížení zatížení. V jedné podmínce škálování je vhodné definovat dvojici pravidel škálování. Jedno pravidlo škálování by mělo udávat, jak horizontálně navýšit kapacitu systému, když metrika překročí horní prahovou hodnotu. Druhé pravidlo musí definovat, jak systém škálovat zpět, když stejná metrika klesne pod dolní prahovou hodnotu. Nenastavujte obě prahové hodnoty na stejný údaj. V opačném případě byste mohli aktivovat řadu oscilačních událostí, které se škálují na více instancí a zpět.

Následující obrázek ukazuje pravidlo škálování definované na webu Azure Portal.

Snímek obrazovky s pravidlem škálování na základě metrik na webu Azure Portal