Dela via


Hantera horisontell klusterskalning (skala ut) i Azure Data Explorer för att hantera föränderlig efterfrågan

Korekt dimensionering av kluster är viktigt för Azure Data Explorers prestanda. En statisk klusterstorlek kan leda till underutnyttjande eller överutnyttjande, vilket inte är idealiskt. Eftersom efterfrågan på ett kluster inte kan förutsägas med absolut noggrannhet är det bättre att skala ett kluster, lägga till och ta bort kapacitets- och CPU-resurser med föränderlig efterfrågan.

Det finns två arbetsflöden för att skala ett Azure Data Explorer-kluster:

  • Horisontell skalning, kallas även för in- och utskalning.
  • Vertikal skalning, kallas även för att skala upp och ned. Den här artikeln beskriver arbetsflödet för horisontell skalning.

Konfigurera horisontell skalning

Genom att använda horisontell skalning kan du skala antalet instanser automatiskt, baserat på fördefinierade regler och scheman. Så här anger du inställningarna för autoskalning för klustret:

  1. I Azure Portal går du till din Azure Data Explorer-klusterresurs. Under Inställningar väljer du Skala ut.

  2. I fönstret Skala ut väljer du den autoskalningsmetod som du vill använda: Manuell skalning, Optimerad autoskalning eller Anpassad autoskalning.

Manuell skalning

I alternativet manuell skalning har klustret en statisk kapacitet som inte ändras automatiskt. Välj den statiska kapaciteten med hjälp av fältet Antal instanser . Klustrets skalning finns kvar i den valda inställningen tills den ändras.

Manuell skalningsmetod.

Optimerad autoskalning är standardinställningen när klustret skapas och den rekommenderade skalningsmetoden. Den här metoden optimerar klusterprestanda och -kostnader på följande sätt:

  • Om klustret är underutnyttat skalas det in för att sänka kostnaden utan att påverka den nödvändiga prestandan.
  • Om klustret är överbelastat skalas det ut för att upprätthålla optimala prestanda.

Så här konfigurerar du optimerad autoskalning:

  1. Välj Optimerad autoskalning.

  2. Ange ett minsta och högsta antal instanser. Klustrets autoskalningsintervall mellan dessa värden baserat på belastning.

  3. Välj Spara.

    Optimerad autoskalningsmetod.

Optimerad autoskalning börjar fungera. Dess åtgärder kan visas i klustrets aktivitetslogg i Azure.

Logik för optimerad autoskalning

Optimerad autoskalning hanteras av antingen förutsägande eller reaktiv logik. Förutsägelselogik spårar användningsmönstret för klustret och när det identifierar säsongsvariationer med hög konfidens hanterar det klustrets skalning. Annars används reaktiv logik som spårar den faktiska användningen av klustret för att fatta beslut om åtgärder för klusterskalning baserat på den aktuella resursanvändningsnivån.

De viktigaste måtten för både förutsägande och reaktiva flöden är:

  • Processor
  • Cacheanvändningsfaktor
  • Datainmatningsanvändning

Både förutsägande och reaktiv logik är bundna till klustrets storleksgränser, minsta och högsta antal instanser, enligt definitionen i den optimerade autoskalningskonfigurationen. Frekvent skalning av kluster och inskalning av åtgärder är oönskade på grund av påverkan på klustrets resurser och den tid som krävs för att lägga till eller ta bort instanser, samt ombalansering av frekvent cache över alla noder.

Autoskalning med förutsägelse

Förutsägelselogik förutspår klustrets användning för nästa dag baserat på dess användningsmönster under de senaste veckorna. Prognosen används för att skapa ett schema för in- eller utskalningsåtgärder för att justera klustrets storlek i förväg. Detta gör att klusterskalning och ombalansering av data kan slutföras i tid för när inläsningen ändras. Den här logiken är särskilt effektiv för säsongsmönster, till exempel dagliga eller veckovisa användningstoppar.

Men i scenarier där det finns en unik topp i användningen som överskrider prognosen kommer optimerad autoskalning att falla tillbaka på reaktiv logik. När detta inträffar utförs åtgärder för in- eller utskalning ad hoc baserat på den senaste resursanvändningsnivån.

Reaktiv autoskalning

Skala ut

När klustret närmar sig ett överutnyttjandetillstånd utförs en utskalningsåtgärd för att upprätthålla optimala prestanda. En utskalningsåtgärd utförs när minst ett av följande villkor inträffar:

  • Cacheanvändningen är hög i över en timme
  • Processorn är hög i över en timme
  • Datainmatningen är hög i över en timme

Skala in

När klustret är underutnyttrat sker en åtgärdsskala för att sänka kostnaderna samtidigt som optimala prestanda bibehålls. Flera mått används för att verifiera att det är säkert att skala i klustret.

För att säkerställa att det inte sker någon överlagring av resurser utvärderas följande mått innan inskalning utförs:

  • Cacheanvändningen är inte hög
  • CPU-användningen är lägre än genomsnittet
  • Datainmatningen är lägre än genomsnittet
  • Om inmatning av direktuppspelning används är strömningsanvändningen inte hög
  • Keep Alive-måttet är över ett definierat minimum, bearbetas korrekt och i tid som anger att klustret är dynamiskt
  • Det finns ingen frågebegränsning
  • Antalet misslyckade frågor är lägre än ett definierat minimum

Anteckning

Logikskalningen kräver en 1-dagars utvärderingsversion innan den optimerade inskalningen implementeras. Den här utvärderingen sker en gång i timmen. Om det behövs en omedelbar ändring använder du manuell skalning.

Anpassad autoskalning

Även om optimerad autoskalning är det rekommenderade skalningsalternativet stöds även anpassad autoskalning i Azure. Genom att använda anpassad autoskalning kan du skala klustret dynamiskt baserat på mått som du anger. Använd följande steg för att konfigurera anpassad autoskalning.

Skalningsregel.

  1. I rutan Namn på autoskalningsinställning anger du ett namn, till exempel Skalbar: cacheanvändning.

  2. För Skalningsläge väljer du Skala baserat på ett mått. Det här läget ger dynamisk skalning. Du kan också välja Skala till ett specifikt instansantal.

  3. Välj + Lägg till en regel.

  4. I avsnittet Skalningsregel till höger anger du värden för varje inställning.

    Kriterie

    Inställningen Beskrivning och värde
    Tidsmängd Välj ett aggregeringsvillkor, till exempel Medelvärde.
    Måttnamn Välj det mått som skalningsåtgärden ska baseras på, till exempel Cacheanvändning.
    Tidsintervallstatistik Välj mellan Average, Minimum, Maximum och Sum.
    Operator Välj lämpligt alternativ, till exempel Större än eller lika med.
    Tröskelvärde Välj ett lämpligt värde. För cacheanvändning är till exempel 80 procent en bra utgångspunkt.
    Varaktighet (i minuter) Välj en lämplig tid för systemet att se tillbaka när mått beräknas. Börja med standardvärdet 10 minuter.

    Åtgärd

    Inställning Beskrivning och värde
    Åtgärd Välj lämpligt alternativ för att skala in eller skala ut.
    Antal instanser Välj det antal noder eller instanser som du vill lägga till eller ta bort när ett måttvillkor uppfylls.
    Väntetid (minuter) Välj ett lämpligt tidsintervall för att vänta mellan skalningsåtgärder. Börja med standardvärdet fem minuter.
  5. Välj Lägg till.

  6. I avsnittet Instansgränser till vänster anger du värden för varje inställning.

    Inställning Beskrivning och värde
    Minsta Antalet instanser som klustret inte skalar under, oavsett användning.
    Maximal Antalet instanser som klustret inte skalar över, oavsett användning.
    Standard Standardantalet instanser. Den här inställningen används om det finns problem med att läsa resursmåtten.
  7. Välj Spara.

Nu har du konfigurerat horisontell skalning för azure-Data Explorer-klustret. Lägg till ytterligare en regel för lodrät skalning. Om du behöver hjälp med problem med klusterskalning öppnar du en supportbegäran i Azure Portal.