Udforsk bedste praksis for automatisk skalering

Fuldført

Hvis du ikke følger gode fremgangsmåder, når du opretter indstillinger for autoskalering, kan du oprette betingelser, der fører til uønskede resultater. I dette undermodul lærer du, hvordan du undgår at oprette regler, der er i konflikt med hinanden.

Koncepter for automatisk skalering

  • En indstilling for autoskalering skalerer instanser vandret, hvilket ud ved at øge forekomsterne og i ved at reducere antallet af forekomster. En indstilling for autoskalering har en maksimum-, minimum- og standardværdi for forekomster.

  • Et autoskaleringsjob læser altid den tilknyttede metrikværdi, der skal skaleres efter, og kontrollerer, om den har overskredet den konfigurerede grænse for skalering eller indskalering.

  • Alle tærskler beregnes på et forekomstniveau. "Skaler f.eks. én forekomst ud, når den gennemsnitlige CPU > 80%, når antallet af forekomster er 2", betyder at skalere ud, når den gennemsnitlige CPU på tværs af alle forekomster er større end 80%.

  • Alle automatiske skaleringssucceser og -fejl logføres i aktivitetsloggen. Du kan derefter konfigurere en aktivitetslogbesked, så du kan få besked via mail, SMS eller webhooks, når der er aktivitet.

Bedste praksis for automatisk skalering

Brug følgende bedste fremgangsmåder, når du opretter dine regler for automatisk skalering.

Sørg for, at maksimum- og minimumværdierne er forskellige og har en tilstrækkelig margen mellem dem

Hvis du har en indstilling, der har minimum=to, maksimum=to, og det aktuelle antal forekomster er to, kan der ikke udføres nogen skaleringshandling. Bevar en tilstrækkelig margen mellem det maksimale og det mindste antal forekomster, som er inklusive. Autoskalering skaleres altid mellem disse grænser.

Vælg den relevante statistik til din metrikværdi for diagnosticering

I forbindelse med målepunkter for diagnosticering kan du vælge mellem Average, Minimum, Maksimum og Samlet som en metrikværdi, der skal skaleres efter. Den mest almindelige statistik er Average.

Vælg tærsklerne omhyggeligt for alle metrikværdier

Vi anbefaler, at du omhyggeligt vælger forskellige tærskler for scale-out og scale-in baseret på praktiske situationer.

Vi anbefaler ikke indstillinger for automatisk skalering, f.eks. følgende eksempler med de samme eller lignende tærskelværdier for ud og under betingelser:

  • Forøg forekomster med ét antal, når trådantal >= 600
  • Reducer forekomster med ét antal, når trådantal <= 600

Lad os se på et eksempel på, hvad der kan føre til en funktionsmåde, der kan virke forvirrende. Overvej følgende sekvens.

  1. Antag, at der er to forekomster at starte med, og det gennemsnitlige antal tråde pr. forekomst vokser til 625.
  2. Autoskalering skalerer ud og tilføjer en tredje forekomst.
  3. Antag derefter, at det gennemsnitlige antal tråde på tværs af forekomsten er 575.
  4. Før du skalerer ind, forsøger autoskalering at anslå, hvad den endelige tilstand vil være, hvis den skaleres ind. 575 x 3 (aktuelt antal forekomster) = 1.725/2 (endeligt antal forekomster, når der skaleres ind) = 862,5 tråde. Det betyder, at autoskalering straks skaleres ud igen, selv efter at den er skaleret ind, hvis det gennemsnitlige antal tråde forbliver det samme eller endda kun falder en lille mængde. Men hvis den skaleres ud igen, gentages hele processen, hvilket fører til en uendelig løkke.
  5. Hvis du vil undgå denne situation (kaldes "flagrende"), skaleres autoskalering slet ikke. I stedet springes betingelsen over og evalueres igen, næste gang tjenestens job udføres. Dette kan forvirre mange personer, fordi autoskalering ikke ser ud til at fungere, når det gennemsnitlige antal tråde var 575.

Estimering under en scale-in er beregnet til at undgå "flagrende" situationer, hvor ind- og udskaleringshandlinger hele tiden går frem og tilbage. Vær opmærksom på denne funktionsmåde, når du vælger de samme tærskler for udskalering og indskalering.

Vi anbefaler, at du vælger en passende margen mellem scale-out og i tærskler. Du kan f.eks. overveje følgende bedre regelkombination.

  • Forøg forekomster med 1 antal, når CPU-% >= 80
  • Reducer forekomster med 1 antal, når CPU-% <= 60

I dette tilfælde

  1. Antag, at der er to forekomster at starte med.
  2. Hvis den gennemsnitlige CPU-% på tværs af instanser går til 80, skaleres automatisk ud og tilføje en tredje forekomst.
  3. Antag nu, at CPU'en med tiden% falder til 60.
  4. Autoskaleringsreglen estimerer den endelige tilstand, hvis den skaleres ind. 60 x 3 (aktuelt antal forekomster) = 180/2 (endeligt antal forekomster, når skaleres ind) = 90. Autoskalering skaleres derfor ikke ind, fordi den skaleres ud igen med det samme. I stedet springes indskalering over.
  5. Næste gang autoskalering kontrolleres, fortsætter CPU'en med at falde til 50. Den estimerer igen - 50 x 3 forekomst = 150 /2 forekomster = 75, hvilket er under skalatærsklen på 80, så den skaleres til 2 forekomster.

Overvejelser i forbindelse med skalering, når flere regler er konfigureret i en profil

Der er tilfælde, hvor du kan være nødt til at angive flere regler i en profil. Følgende sæt regler for automatisk skalering bruges af tjenester, når der er angivet flere regler.

Ved skaleringkøres automatisk skalering, hvis en regel er opfyldt. På skaleringskræver automatisk skalering, at alle regler er opfyldt.

Som illustration skal du antage, at du har følgende fire regler for automatisk skalering:

  • Hvis CPU'en < 30%, skaleres ind med 1
  • Hvis Hukommelse < 50%, skaleres ind med 1
  • Hvis CPU'en > 75%, skaleres ud med 1
  • Hvis Hukommelse > 75%, skaleres ud med 1

Derefter sker følgende:

  • Hvis CPU'en er 76%, og hukommelsen er 50%, skaleres vi ud.
  • Hvis CPU'en er 50%, og hukommelsen er 76% skalerer vi ud.

Hvis CPU'en på den anden side er 25% og hukommelsen er 51% skaleres automatisk, skaleres den ikke. Der vil opstå en automatisk indskalering, hvis CPU'en er 29%, og hukommelsen er 49%, da begge skaleringsregler er sande.

Vælg altid et sikkert antal standardforekomster

Antallet af standardforekomster er vigtigt, fordi automatisk skalering skalerer tjenesten til det antal, når metrikværdier ikke er tilgængelige. Vælg derfor et antal standardforekomster, der er sikre for dine arbejdsbelastninger.

Konfigurer meddelelser om automatisk skalering

Skaler automatisk meddelelser i aktivitetsloggen, hvis en af følgende betingelser opstår:

  • Autoskalering udsteder en skaleringshandling
  • Tjenesten Autoskalering fuldfører en skaleringshandling
  • Autoskaleringstjenesten kan ikke udføre en skaleringshandling.
  • Målepunkter er ikke tilgængelige for automatisk skaleringstjeneste for at træffe en skaleringsbeslutning.
  • Målepunkter er tilgængelige (genoprettelse) igen for at træffe en skaleringsbeslutning.

Du kan også bruge en aktivitetslogbesked til at overvåge tilstanden af programmet til automatisk skalering. Ud over at bruge aktivitetslogbeskeder kan du også konfigurere mail- eller webhookmeddelelser for at få besked om vellykkede skaleringshandlinger via fanen Meddelelser under indstillingen for automatisk skalering.