Best practices voor automatisch schalen verkennen
Als u geen goede procedures volgt bij het maken van instellingen voor automatische schaalaanpassing, kunt u voorwaarden maken die leiden tot ongewenste resultaten. In deze les leert u hoe u regels kunt maken die met elkaar conflicteren.
Concepten voor automatisch schalen
Met een instelling voor automatische schaalaanpassing worden exemplaren horizontaal geschaald. Dit is door de exemplaren te vergroten en in te schakelen door het aantal exemplaren te verlagen. Een instelling voor automatische schaalaanpassing heeft een maximale, minimale en standaardwaarde van exemplaren.
Een taak voor automatisch schalen leest altijd de bijbehorende metrische waarde om te schalen door te controleren of de geconfigureerde drempelwaarde voor uitschalen of inschalen is overschreden.
Alle drempelwaarden worden berekend op exemplaarniveau. Bijvoorbeeld: 'uitschalen met één exemplaar wanneer gemiddeld CPU > 80% wanneer het aantal exemplaren 2 is', betekent dat u uitschaalt wanneer de gemiddelde CPU voor alle exemplaren groter is dan 80%.
Alle geslaagde en mislukte automatische schaalaanpassing worden vastgelegd in het activiteitenlogboek. U kunt vervolgens een waarschuwing voor activiteitenlogboeken configureren, zodat u een melding kunt ontvangen via e-mail, sms of webhooks wanneer er activiteit is.
Aanbevolen procedures voor automatisch schalen
Gebruik de volgende aanbevolen procedures bij het maken van uw regels voor automatisch schalen.
Zorg ervoor dat de maximale en minimale waarden verschillen, en dat er voldoende marge tussen deze twee zit
Als u een instelling hebt met minimaal twee, maximum=twee en het huidige aantal exemplaren twee, kan er geen schaalactie worden uitgevoerd. Hou voldoende marge tussen het maximum- en minimumaantal instanties, inclusief de waarden. De automatische schaalaanpassing schaalt altijd tussen deze limieten.
Kies de juiste statistieken voor uw diagnostische metrische gegevens
Voor metrische diagnostische gegevens kunt u kiezen uit gemiddelde, minimum, maximum en totaal als metrische waarde om te schalen. De meest voorkomende statistiek is Gemiddeld.
Kies zorgvuldig de drempelwaarden voor alle typen metrische gegevens
We raden u aan zorgvuldig verschillende drempelwaarden te kiezen voor uitschalen en inschalen op basis van praktische situaties.
We raden instellingen voor automatisch schalen niet aan , zoals de volgende voorbeelden met dezelfde of vergelijkbare drempelwaarden voor out- en in voorwaarden:
- Exemplaren met één aantal verhogen wanneer Thread Count >= 600
- Exemplaren met één aantal verlagen wanneer Thread Count <= 600
Laten we eens kijken naar een voorbeeld van wat kan leiden tot een gedrag dat verwarrend kan lijken. Houd rekening met de volgende volgorde.
- Stel dat er twee exemplaren zijn om mee te beginnen en dat het gemiddelde aantal threads per exemplaar toeneemt tot 625.
- Automatisch schalen schaalt het toevoegen van een derde exemplaar uit.
- Stel vervolgens dat het gemiddelde aantal threads voor exemplaren 575 is.
- Voordat u inschaalt, probeert automatisch schalen te schatten wat de uiteindelijke status is als deze wordt ingeschaald. Bijvoorbeeld 575 x 3 (huidig aantal exemplaren) = 1.725/2 (eindaantal exemplaren wanneer ingeschaald) = 862,5 threads. Dit betekent dat automatisch schalen onmiddellijk opnieuw moet worden uitgeschaald, zelfs nadat deze is ingeschaald, als het gemiddelde aantal threads hetzelfde blijft of zelfs slechts een klein bedrag valt. Als het echter opnieuw wordt uitgeschaald, zou het hele proces herhalen, wat leidt tot een oneindige lus.
- Om deze situatie (aangeduid als 'flapping') te voorkomen, wordt automatisch schalen helemaal niet ingeschaald. In plaats daarvan wordt de voorwaarde overgeslagen en opnieuw geëvalueerd wanneer de taak van de service de volgende keer wordt uitgevoerd. Dit kan veel mensen verwarren omdat automatisch schalen niet zou lijken te werken wanneer het gemiddelde aantal threads 575 was.
Schatting tijdens een inschaling is bedoeld om 'flapping'-situaties te voorkomen, waarbij acties voor in- en uitschalen voortdurend heen en weer gaan. Houd rekening met dit gedrag wanneer u dezelfde drempelwaarden kiest voor uitschalen en inschalen.
U wordt aangeraden een voldoende marge te kiezen tussen de uitschalen en in drempelwaarden. Denk bijvoorbeeld aan de volgende betere combinatie van regels.
- Exemplaren verhogen met 1 aantal wanneer CPU% >= 80
- Exemplaren verlagen met 1 aantal wanneer CPU% <= 60
In dit geval
- Stel dat er twee exemplaren zijn om mee te beginnen.
- Als het gemiddelde CPU-percentage voor exemplaren naar 80 gaat, schaalt automatisch schalen het toevoegen van een derde exemplaar uit.
- Stel nu dat de CPU% in de loop van de tijd tot 60 valt.
- De regel voor automatisch schalen maakt een schatting van de uiteindelijke status als deze moet worden ingeschaald. Bijvoorbeeld 60 x 3 (huidig aantal exemplaren) = 180 / 2 (eindaantal exemplaren wanneer ingeschaald) = 90. Automatische schaalaanpassing wordt dus niet ingeschaald omdat deze onmiddellijk opnieuw moet worden uitgeschaald. In plaats daarvan wordt het schalen overgeslagen.
- De volgende keer dat automatische schaalaanpassing wordt gecontroleerd, blijft de CPU dalen tot 50. Het schat opnieuw - 50 x 3 exemplaar = 150 / 2 exemplaren = 75, die onder de drempelwaarde voor uitschalen van 80 ligt, zodat het wordt geschaald in 2 exemplaren.
Overwegingen voor het schalen wanneer meerdere regels zijn geconfigureerd in een profiel
Er zijn gevallen waarin u mogelijk meerdere regels in een profiel moet instellen. De volgende set regels voor automatisch schalen wordt door services gebruikt wanneer er meerdere regels zijn ingesteld.
Bij uitschalen wordt automatisch schalen uitgevoerd als aan een regel wordt voldaan. Bij inschalen moet aan alle regels voor automatische schaalaanpassing worden voldaan.
Ter illustratie wordt ervan uitgegaan dat u de volgende vier regels voor automatische schaalaanpassing hebt:
- Als CPU < 30%, inschalen met 1
- Als geheugen < 50%, inschalen met 1
- Als CPU > 75%, schaalt u uit met 1
- Als geheugen > 75%, uitschalen met 1
Vervolgens gebeurt het volgende:
- Als de CPU 76% is en het geheugen 50% is, schalen we uit.
- Als de CPU 50% is en geheugen 76% is, worden we uitgeschaald.
Als de CPU daarentegen 25% is en het geheugen 51% is, wordt automatisch schalen niet uitgevoerd. Een automatische inschaling zou optreden als de CPU 29% is en het geheugen 49% is, omdat beide regels voor inschalen waar zouden zijn.
Selecteer altijd een veilig standaardaantal exemplaren
Het standaardaantal exemplaren is belangrijk omdat uw service automatisch schalen naar dat aantal wordt geschaald wanneer er geen metrische gegevens beschikbaar zijn. Selecteer daarom een standaardaantal exemplaren dat veilig is voor uw workloads.
Configureer meldingen over automatisch schalen
Berichten automatisch schalen naar het activiteitenlogboek als een van de volgende voorwaarden zich voordoet:
- Problemen met automatisch schalen van een schaalbewerking
- De service voor automatisch schalen heeft een schaalactie voltooid
- De service voor automatisch schalen kan geen schaalactie uitvoeren.
- Metrische gegevens zijn niet beschikbaar voor de service voor automatisch schalen om een schaalbeslissing te nemen.
- Metrische gegevens zijn opnieuw beschikbaar (herstel) om een schaalbeslissing te nemen.
U kunt ook een waarschuwing voor activiteitenlogboeken gebruiken om de status van de engine voor automatische schaalaanpassing te controleren. Naast het gebruik van waarschuwingen voor activiteitenlogboeken kunt u ook e-mail- of webhookmeldingen configureren om meldingen te ontvangen voor geslaagde schaalacties via het tabblad Meldingen in de instelling voor automatisch schalen.