Osvědčené postupy pro automatické škálování

Azure Monitor se vztahuje pouze na služby Virtual Machine Scale Sets,Cloud Services,App Service – Web Appsa API Management.

Koncepty automatického škálování

  • Prostředek může mít jenom jedno nastavení automatického škálování.
  • Nastavení automatického škálování může mít jeden nebo více profilů a každý profil může mít jedno nebo více pravidel automatického škálování.
  • Nastavení automatického škálování škáluje instance horizontálně, což je zvýšením počtu instancí a snížením počtu instancí. Nastavení automatického škálování má maximální, minimální a výchozí hodnotu instancí.
  • Úloha automatického škálování vždy přečte přidruženou metriku pro škálování a kontroluje, jestli překročila nakonfigurovanou prahovou hodnotu pro horizontální navýšení nebo navýšení velikosti. Můžete zobrazit seznam metrik, podle kterých se automatické škálování může škálovat podle Azure Monitor metrik automatického škálování.
  • Všechny prahové hodnoty se počítají na úrovni instance. Například "horizontální navýšení velikosti o jednu instanci při průměrném využití procesoru 80 %, když je počet instancí 2", znamená škálování na více instancí, pokud je průměrný procesor napříč všemi instancemi větší než > 80 %.
  • Všechna selhání automatického škálování se protokoluly do protokolu aktivit. Pak můžete nakonfigurovat upozornění protokolu aktivit, abyste byli upozorněni e-mailem, SMS nebo webhooky vždy, když dojde k selhání automatického škálování.
  • Podobně se všechny úspěšné akce škálování zaúčtuje do protokolu aktivit. Pak můžete nakonfigurovat upozornění protokolu aktivit, abyste byli upozorněni e-mailem, SMS nebo webhooky vždy, když dojde k úspěšné akci automatického škálování. Můžete také nakonfigurovat e-mailová oznámení nebo oznámení webhooků, abyste prostřednictvím karty oznámení v nastavení automatického škálování dostávat oznámení o úspěšných akcích škálování.

Osvědčené postupy automatického škálování

Při používání automatického škálování použijte následující osvědčené postupy.

Ujistěte se, že se maximální hodnota liší od minimální hodnoty a že mezi nimi je přiměřené rozpětí

Pokud máte nastavení minimum=2 a maximum=2 a aktuální počet instancí je 2, k žádné akci škálování nemůže dojít. Udržujte přiměřené rozpětí mezi maximálním a minimálním počtem instancí. Automatické škálování vždy provádí škálování mezi těmito limity.

Ruční škálování se resetuje podle minimální a maximální hodnoty automatického škálování

Pokud ručně aktualizujete počet instancí na hodnotu vyšší nebo nižší než maximum, modul automatického škálování se automaticky škáluje zpět na minimum (pokud je uvedeno níže) nebo maxima (pokud je uvedeno výše). Můžete například nastavit rozsah mezi 3 a 6. Pokud máte jednu spuštěnou instanci, modul automatického škálování se při příštím spuštění škáluje na tři instance. Podobně platí, že pokud ručně nastavíte škálování na osm instancí, při dalším spuštění se automatické škálování škáluje zpět na šest instancí při dalším spuštění. Ruční škálování je dočasné, pokud resetovat také pravidla automatického škálování.

Vždy používejte kombinaci pravidel horizontálního navýšení a snížení velikosti, která provádí zvýšení a snížení.

Pokud použijete pouze jednu část kombinace, automatické škálování bude jednat pouze v jednom směru (horizontální navýšení nebo navýšení velikosti), dokud nedosáhne maximálního nebo minimálního počtu instancí, jak je definováno v profilu. To není optimální, ideálně chcete, aby se váš prostředek škáluje v době vysokého využití, aby se zajistila dostupnost. Podobně v době nízkého využití chcete, aby váš prostředek škálovat dolů, abyste mohli dosáhnout úspor nákladů.

Vyberte vhodnou statistiku pro konkrétní diagnostickou metriku

Pro diagnostické metriky můžete jako metriku pro škálování zvolit průměr,minimum,maximum a celkový součet. Nejběžnější statistikou je Průměr.

Pečlivě vyberte prahové hodnoty pro všechny typy metrik

Doporučujeme pečlivě zvolit různé prahové hodnoty pro horizontální navýšení a navýšení velikosti na základě praktických situací.

Nedoporučujeme nastavení automatického škálování jako v následujících příkladech se stejnými nebo podobnými prahovými hodnotami pro out a in conditions:

  • Zvýšení počtu instancí o 1, když počet vláken > = 600
  • Snížení počtu instancí o 1, když počet vláken < = 600

Podívejme se na příklad toho, co může vést k chování, které může vypadat matoucí. Zvažte následující posloupnost.

  1. Předpokládejme, že existují dvě instance, které začínají na , a pak se průměrný počet vláken na instanci zvětšuje na 625.
  2. Automatické škálování škáluje na více instancí přidáním třetí instance.
  3. Dále předpokládejme, že průměrný počet vláken napříč instancí klesne na 575.
  4. Před horizontálním navýšením kapacity se automatické škálování pokusí odhadnout konečný stav v případě horizontálního navýšení kapacity. Například 575 × 3 (aktuální počet instancí) = 1 725 / 2 (konečný počet instancí při horizontálním navýšení velikosti) = 862,5 vláken. To znamená, že automatické škálování bude muset okamžitě znovu škálovat i po horizontálním navýšení velikosti, pokud průměrný počet vláken zůstane stejný nebo dokonce klesne jen malé množství. Pokud by se ale znovu škáloval, celý proces by se opakoval, což by vedlo k nekonečné smyčce.
  5. Aby se této situaci zabránilo (tzv. flapping), automatické škálování vůbec nesnižuje. Místo toho přeskočí a znovu vyhodnotí podmínku při příštím spuštění úlohy služby. Stav flappingu může zmást mnoho lidí, protože automatické škálování by při průměrném počtu vláken 575 nefunguje.

Cílem odhadu během horizontálního navýšení velikosti je vyhnout se "nelišení" situací, kdy se akce horizontálního navýšení a horizontálního navýšení velikosti neustále přecházely tam a zpět. Toto chování mějte na paměti při výběru stejných prahových hodnot pro horizontální navýšení a navýšení velikosti.

Doporučujeme zvolit odpovídající rozpětí mezi horizontálním navýšením velikosti a prahovými hodnotami. Představte si například následující lepší kombinaci pravidel.

  • Zvýšení počtu instancí o 1, když využití procesoru > = 80
  • Snížení počtu instancí o 1, když využití procesoru < = 60

V tomto případě

  1. Předpokládejme, že existují 2 instance, na které můžete začít.
  2. Pokud průměrné využití procesoru napříč instancemi bude 80, automatické škálování se škáluje na více instancí a přidá třetí instanci.
  3. Teď předpokládejme, že v průběhu času klesá % procesoru na 60.
  4. Pravidlo horizontálního navýšení velikosti automatického škálování odhadne konečný stav, pokud by bylo horizontální navýšení velikosti. Například 60 x 3 (aktuální počet instancí) = 180 / 2 (konečný počet instancí při horizontálním navýšení velikosti) = 90. Automatické škálování tedy neprovádí horizontální navýšení velikosti, protože by bylo možné okamžitě znovu škálovat na více než jednou. Místo toho přeskočí horizontální navýšení kapacity.
  5. Při příští kontrole automatického škálování bude procesor dál klesat na 50. Znovu odhadne – 50 × 3 instance = 150 / 2 instance = 75, což je pod prahovou hodnotou škálování na více instancí 80, takže se úspěšně škáluje na 2 instance.

Poznámka

Pokud modul automatického škálování zjistí, že k flappingu může dojít v důsledku škálování na cílový počet instancí, pokusí se také škálovat na jiný počet instancí mezi aktuálním a cílovým počtem. Pokud v tomto rozsahu nedojde k flappingu, automatické škálování bude pokračovat v operaci škálování s novým cílem.

Důležité informace o prahových hodnotách škálování pro speciální metriky

U speciálních metrik, jako je Storage nebo Service Bus metrika Délka fronty, je prahovou hodnotou průměrný počet zpráv dostupných pro aktuální počet instancí. Pečlivě vyberte prahovou hodnotu pro tuto metriku.

Pojďme si to ukázat na příkladu, který vám zajistí lepší pochopení chování.

  • Zvýšení počtu instancí o 1 Storage fronty > = 50
  • Snížení počtu instancí o 1 Storage zpráv < fronty = 10

Zvažte následující posloupnost:

  1. Existují dvě instance fronty úložiště.
  2. Zprávy se budou dál doručovat a když si projdeme frontu úložiště, celkový počet bude 50. Můžete předpokládat, že automatické škálování by mělo spustit akci horizontálního navýšení velikosti. Všimněte si ale, že je to stále 50/2 = 25 zpráv na instanci. Proto k horizontálním navýšení velikosti nedojde. Aby došlo k prvnímu horizontálnímu navýšení velikosti, celkový počet zpráv ve frontě úložiště by měl být 100.
  3. Dále předpokládejme, že celkový počet zpráv dosáhne 100.
  4. Kvůli akci škálování na více instancí se přidá třetí instance fronty úložiště. K další akci horizontálního navýšení velikosti nedojde, dokud celkový počet zpráv ve frontě nedosáhne hodnoty 150, protože 150/3 = 50.
  5. Teď se počet zpráv ve frontě zkrátí. U tří instancí se první akce horizontálního navýšení velikosti stane, když celkový počet zpráv ve všech frontách přidá až 30, protože 30/3 = 10 zpráv na instanci, což je prahová hodnota pro horizontální navýšení velikosti.

Důležité informace o škálování v případě více nakonfigurovaných profilů v nastavení automatického škálování

V nastavení automatického škálování můžete zvolit výchozí profil, který se vždy použije bez závislosti na plánu nebo čase, nebo můžete zvolit opakující se profil nebo profil pro pevné období s datem a časovým rozsahem.

Když je služba automatického škálování zpracuje, vždy zkontroluje v následujícím pořadí:

  1. Pevný profil data
  2. Opakující se profil
  3. Výchozí profil ("Always")

Pokud je splněna podmínka profilu, automatické škálování neškrtne další podmínku profilu pod ní. Automatické škálování zpracovává současně jenom jeden profil. To znamená, že pokud chcete zahrnout také podmínku zpracování z profilu nižší úrovně, musíte tato pravidla zahrnout také do aktuálního profilu.

Podívejme se na příklad:

Následující obrázek ukazuje nastavení automatického škálování s výchozím profilem minimálních instancí = 2 a maximálními instancemi = 10. V tomto příkladu jsou pravidla nakonfigurovaná tak, aby škálovaná na více než 10, když je počet zpráv ve frontě větší než 10, a horizontální navýšení velikosti, když je počet zpráv ve frontě menší než tři. Prostředek se teď může škálovat mezi dvěma a deseti instancemi.

Kromě toho je pro pondělí nastavená opakovaná sada profilů. Je nastavená pro minimální počet instancí = 3 a maximální počet instancí = 10. To znamená, že v pondělí se při prvním automatickém škálování zkontroluje tato podmínka. Pokud je počet instancí dvě, škáluje se na nové minimum tří. Dokud bude automatické škálování dál hledat podmínku profilu odpovídající (pondělí), zpracuje pouze pravidla škálování na základě procesoru nakonfigurovaná pro tento profil. V tuto chvíli neschová délku fronty. Pokud ale chcete také zkontrolovat podmínku délky fronty, měli byste tato pravidla zahrnout také z výchozího profilu do svého pondělního profilu.

Podobně platí, že když automatické škálování přepne zpět na výchozí profil, nejprve zkontroluje, jestli jsou splněné minimální a maximální podmínky. Pokud je počet instancí v tomto okamžiku 12, škáluje se na 10, maximální povolený pro výchozí profil.

autoscale settings

Důležité informace o škálování v případě více nakonfigurovaných pravidel v profilu

V některých případech možná budete muset v profilu nastavit více pravidel. Modul automatického škálování používá následující pravidla automatického škálování, pokud je nastaveno více pravidel.

Při horizontálním navýšení velikostise automatické škálování spustí, pokud je splněno nějaké pravidlo. U horizontálního navýšení velikostivyžaduje automatické škálování, aby byla splněna všechna pravidla.

Pro ilustraci předpokládejme, že máte následující čtyři pravidla automatického škálování:

  • Pokud je < procesor 30 %, škálování na více než 1
  • Pokud je < paměť 50 %, škálování na více než 1
  • Pokud je > procesor 75 %, škálování na více než 1
  • Pokud je > paměť 75 %, škálování na více než 1

Pak dojde k následujícímu:

  • Pokud je procesor 76 % a paměť je 50 %, budeme škálovat na více než 50 %.
  • Pokud je procesor 50 % a paměť je 76 %, budeme škálovat na více než 76 %.

Na druhé straně platí, že pokud je procesor 25 % a velikost paměti je 51 %, automatické škálování se nesnídá. Aby bylo možné škálovat na více prostředků, musí být procesor 29 % a paměť 49 %.

Vždy vyberte bezpečný výchozí počet instancí

Výchozí počet instancí je důležitý, protože automatické škálování škáluje vaši službu na tento počet, když metriky nejsou k dispozici. Proto vyberte výchozí počet instancí, který je pro vaše úlohy bezpečný.

Konfigurace oznámení automatického škálování

Automatické škálování se do protokolu aktivit zahodí, pokud nastane kterákoli z následujících podmínek:

  • Automatické škálování vydává operaci škálování.
  • Služba automatického škálování úspěšně dokončí akci škálování.
  • Službě automatického škálování se nepodaří provést akci škálování.
  • Pro službu automatického škálování nejsou k dispozici metriky pro rozhodování o škálování.
  • Metriky jsou opět dostupné (obnovení), aby bylo možné provést rozhodnutí o škálování.
  • Automatické škálování detekuje flapping a přeruší pokus o škálování. V této situaci se zobrazí Flapping typ protokolu . Pokud to uvidíte, zvažte, jestli jsou prahové hodnoty příliš úzké.
  • Automatické škálování detekuje flapping, ale je stále možné úspěšně škálovat. V této situaci se zobrazí FlappingOccurred typ protokolu . Pokud to uvidíte, modul automatického škálování se pokusil škálovat (např. ze 4 instancí na 2), ale zjistil, že by to způsobilo nelihou. Místo toho se modul automatického škálování škáloval na jiný počet instancí (např. pomocí 3 instancí místo 2), což už nesnížuje, takže se škáloval na tento počet instancí.

K monitorování stavu modulu automatického škálování můžete použít také upozornění protokolu aktivit. Tady jsou příklady vytvoření upozornění protokolu aktivit pro monitorování všech operací modulu automatického škálování ve vašem předplatném nebo pro vytvoření upozornění protokolu aktivit pro monitorování všech neúspěšných operací horizontálního navýšení nebo navýšení platnosti automatického škálování ve vašem předplatném.

Kromě použití upozornění protokolu aktivit můžete také nakonfigurovat e-mailová oznámení nebo oznámení webhooků, abyste prostřednictvím karty oznámení v nastavení automatického škálování dostávat oznámení o úspěšných akcích škálování.

Další kroky