Dela via


Översikt över autoskalning med VM-skalningsuppsättningar i Azure

En Skalningsuppsättning för virtuella Azure-datorer kan öka eller minska antalet virtuella datorinstanser som kör ditt program. Antalet instanser kan uppdateras på flera sätt:

  • Öka eller minska kapaciteten för skalningsuppsättning manuellt
  • Baserat på ett angivet schema
  • Enligt regler som baseras på tröskelvärden för mått
  • Automatiskt baserat på användningsmönster som upptäckts av förutsägande artificiell intelligens

Det här automatiserade och elastiska beteendet minskar hanteringskostnaderna för att övervaka och optimera programmets prestanda. Den här artikeln innehåller en översikt över vilka prestandamått som är tillgängliga och vilka åtgärder autoskalning kan utföra.

Kommentar

Användning av autoskalning kräver att skalningsuppsättningen definieras med en skalningsprofil för virtuella datorer som definierar konfigurationen av instanser som ska läggas till. Läs mer om vm-skalningsprofil.

Manuell skalning

Du kan öka eller minska antalet instanser i vm-skalningsuppsättningen manuellt genom att uppdatera sku.capacity egenskapen.

Azure Portal

  1. Navigera till en befintlig VM-skalningsuppsättning.
  2. Under Inställningar väljer du fliken Skalning.
  3. Välj Manuell skalning om den inte redan är markerad.
  4. Uppdatera antalet instanser.
  5. Tryck på knappen Spara .

Azure CLI

az vmss scale \
	--new-capacity 5 \
	--name <scale set name> \
	--resource-group <resource group name>

Azure PowerShell

Update-AzVmss `
	-SkuCapacity 5 `
	-ResourceGroupName <resource group name> ` 
	-VMScaleSetName <scale set name>  `

Fördelar med autoskalning

Om dina programkrav ökar, ökar även belastningen på de virtuella datorinstanserna i din skalningsuppsättning. Om den här ökade belastningen är konsekvent, i stället för bara en kort efterfrågan, kan du konfigurera regler för automatisk skalning för att öka och minska antalet VM-instanser i skalningsuppsättningen.

Kommentar

När du använder automatiska instansreparationer för skalningsuppsättningen kan det maximala antalet instanser i skalningsuppsättningen vara 1 000. Läs mer om automatiska instansreparationer.

När dessa virtuella datorinstanser skapas och dina program distribueras, börjar skalningsuppsättningen att distribuera trafik till dem via lastbalanseraren. Du styr vilka mått som ska övervakas, till exempel CPU eller minne, hur länge programbelastningen måste uppfylla ett visst tröskelvärde och hur många VM-instanser som ska läggas till i skalningsuppsättningen.

På kvällar eller helger, kan efterfrågan på ditt program minska. Om den här minskade belastningen är konsekvent över en tidsperiod, kan du konfigurera regler för automatisk skalning för att minska antalet virtuella datorinstanser i skalningsuppsättningen. Den här åtgärden för skala in minskar kostnaden för att köra din skalningsuppsättningen eftersom du bara köra de antal instanser som krävs för att uppfylla den aktuella efterfrågan.

Använda värdbaserade mått

Du kan skapa regler för autoskalning som inbyggda värdmått är tillgängliga från dina VM-instanser. Värdmått ger dig insyn i prestandan för de virtuella datorinstanserna i en skalningsuppsättning utan att behöva installera eller konfigurera ytterligare agenter och datasamlingar. Autoskalningsregler som använder dessa mått kan skalas ut eller i antalet virtuella datorinstanser som svar på CPU-användning, minnesbehov eller diskåtkomst.

Regler för automatisk skalning som använder värdbaserade mått kan skapas med något av följande verktyg:

Om du vill skapa regler för autoskalning som använder mer detaljerade prestandamått kan du installera och konfigurera Azure-diagnostiktillägget på virtuella datorinstanser eller konfigurera ditt program med App Insights.

Autoskalningsregler som använder värdbaserade mått, mått för virtuella gästdatorer med Azure-diagnostiktillägget och App Insights kan använda följande konfigurationsinställningar.

Måttkällor

Autoskalningsregler kan använda mått från någon av följande källor:

Måttkälla Användningsfall
Aktuell skalningsuppsättning För värdbaserade mått som inte kräver att ytterligare agenter installeras eller konfigureras.
Lagringskonto Azure-diagnostiktillägget skriver prestandamått till Azure Storage som sedan används för att utlösa regler för autoskalning.
Service Bus-kö Ditt program eller andra komponenter kan skicka meddelanden i en Azure Service Bus-kö för att utlösa regler.
Programinsikter Ett instrumentationspaket installerat i ditt program som strömmar mått direkt från appen.

Regelvillkor för autoskalning

Följande värdbaserade mått är tillgängliga för användning när du skapar regler för autoskalning. Om du använder Azure-diagnostiktillägget eller App Insights definierar du vilka mått som ska övervakas och användas med regler för autoskalning.

Måttnamn
Processorprocentandel
Nätverk – inkommande
Nätverk – utgående
Diskläsningsbyte
Diskskrivningsbyte
Diskläsningsåtgärder/s
Diskskrivningsåtgärder/s
Återstående CPU-krediter
Förbrukade CPU-krediter

När du skapar regler för autoskalning för att övervaka ett visst mått tittar reglerna på någon av följande måttaggregeringsåtgärder:

Sammansättningstyp
Genomsnitt
Minimum
Maximum
Totalt
Last
Antal

Reglerna för autoskalning utlöses sedan när måtten jämförs mot det definierade tröskelvärdet med någon av följande operatorer:

Operator
Större än
Större än eller lika med
Mindre än
Mindre än eller lika med
Lika med
Inte lika med

Åtgärder när regler utlöses

När en autoskalningsregel utlöses kan skalningsuppsättningen automatiskt skalas på något av följande sätt:

Skalningsåtgärd Användningsfall
Öka antalet med Ett fast antal VM-instanser som ska skapas. Användbart i skalningsuppsättningar med ett mindre antal virtuella datorer.
Öka procent med En procentbaserad ökning av virtuella datorinstanser. Bra för större skalningsuppsättningar där en fast ökning kanske inte märkbart förbättrar prestandan.
Öka antalet till Skapa så många VM-instanser som krävs för att nå en önskad maximal mängd.
Minska antalet med Ett fast antal VM-instanser att ta bort. Användbart i skalningsuppsättningar med ett mindre antal virtuella datorer.
Minska procent med En procentbaserad minskning av VM-instanser. Bra för större skalningsuppsättningar där en fast minskning kanske inte minskar resursförbrukningen och kostnaderna märkbart.
Minska antalet till Ta bort så många VM-instanser som krävs för att nå en önskad minsta mängd.

Mått för virtuella gästdatorer med Azure-diagnostiktillägget

Azure-diagnostiktillägget är en agent som körs i en VM-instans. Agenten övervakar och sparar prestandamått i Azure Storage. Dessa prestandamått innehåller mer detaljerad information om den virtuella datorns status, till exempel AverageReadTime för diskar eller PercentIdleTime för CPU. Du kan skapa regler för autoskalning baserat på en mer detaljerad medvetenhet om den virtuella datorns prestanda, inte bara procentandelen cpu-användning eller minnesförbrukning.

Om du vill använda Azure-diagnostiktillägget måste du skapa Azure-lagringskonton för dina vm-instanser, installera Azure-diagnostikagenten och sedan konfigurera de virtuella datorerna för att strömma specifika prestandaräknare till lagringskontot.

Mer information finns i artiklarna om att aktivera Azure Diagnostics-tillägget på en virtuell Linux-dator eller en virtuell Windows-dator.

Mått på programnivå med App Insights

Om du vill få mer insyn i programmets prestanda kan du använda Application Insights. Du installerar ett litet instrumentationspaket i ditt program som övervakar appen och skickar telemetri till Azure. Du kan övervaka mått som svarstider för ditt program, sidinläsningsprestanda och antal sessioner. Dessa programmått kan användas för att skapa regler för autoskalning på detaljerad och inbäddad nivå när du utlöser regler baserat på användbara insikter som kan påverka kundupplevelsen.

Mer information om App Insights finns i artikeln Vad är Application Insights.

Schemalagd autoskalning

Du kan också skapa autoskalningsregler baserat på scheman. Med de här schemabaserade reglerna kan du automatiskt skala antalet virtuella datorinstanser vid fasta tidpunkter. Med prestandabaserade regler kan det finnas en prestandapåverkan på programmet innan regler för autoskalning utlöses och de nya VM-instanserna etableras. Om du kan förutse en sådan efterfrågan etableras de ytterligare vm-instanserna och är redo för ytterligare kundanvändning och programbehov.

Följande exempel är scenarier som kan gynna användningen av schemabaserade autoskalningsregler:

  • Skala automatiskt ut antalet virtuella datorinstanser i början av arbetsdagen när kundernas efterfrågan ökar. I slutet av arbetsdagen skalar du automatiskt in antalet virtuella datorinstanser för att minimera resurskostnaderna över natten när programanvändningen är låg.
  • Om en avdelning använder ett program kraftigt under vissa delar av månaden eller räkenskapscykeln skalar du automatiskt antalet virtuella datorinstanser för att tillgodose deras ytterligare krav.
  • När det finns ett marknadsföringsevenemang, en kampanj eller en semesterförsäljning kan du automatiskt skala antalet virtuella datorinstanser före förväntad kundefterfrågan.

Begränsningar

  • Du kan ha upp till 20 autoskalningsregler för en viss skalningsuppsättning.

Nästa steg

Du kan skapa regler för autoskalning som använder värdbaserade mått med något av följande verktyg:

Information om hur du hanterar dina VM-instanser finns i Hantera vm-skalningsuppsättningar med Azure PowerShell.

Information om hur du genererar aviseringar när autoskalningsregler utlöses finns i Använda autoskalningsåtgärder för att skicka e-post- och webhook-aviseringsaviseringar i Azure Monitor. Du kan också använda granskningsloggar för att skicka e-post- och webhooksaviseringar i Azure Monitor.