Konfigurera en VM-skalningsuppsättning

Slutförd

När du skalar lägger du till instanser i vm-skalningsuppsättningen. I scenariot för leveransföretag är skalning ett bra sätt att hantera det föränderliga antalet begäranden över tid. Skalning justerar antalet virtuella datorer som kör webbappen när antalet användare ändras. På så sätt hålls svarstiden i systemet relativt jämn oavsett belastning.

I den här lektionen får du lära dig hur du skalar en VM-skalningsuppsättning. Du kan skala manuellt genom att uttryckligen ange antalet virtuella datorinstanser i skalningsuppsättningen, eller så kan du konfigurera automatisk skalning genom att definiera skalningsregler som utlöser allokering och frigöring av virtuella datorer. De här skalningsreglerna avgör när systemet ska skalas om genom att olika prestandamått övervakas.

Skala Virtual Machine Scale Sets manuellt

Du skalar en VM-skalningsuppsättning manuellt genom att öka eller minska antalet instanser. Du gör den här uppgiften programmatiskt eller i Azure-portalen.

Följande kod använder Azure CLI för att ändra antalet instanser i en VM-skalningsuppsättning:

az vmss scale \
    --name MyVMScaleSet \
    --resource-group MyResourceGroup \
    --new-capacity 6

Autoskalning Virtual Machine Scale Sets

Manuell skalning kan vara användbart i en del fall. I många situationer är det däremot bättre med automatisk skalning. Med automatisk skalning styr systemet antalet instanser i skalningsuppsättningen.

Du kan basera autoskalningen på:

  • Schema: Använd den här metoden om du vet att arbetsbelastningen ökar under ett visst datum/tidsfönster.
  • Mått: Justera skalningen genom att övervaka prestandamått som är kopplade till skalningsuppsättningen. När de här måtten överskrider ett angivet tröskelvärde startar kan skalningsuppsättningen automatiskt starta nya instanser av virtuella datorer. När måtten indikerar att de ytterligare resurserna inte längre behövs kan skalningsuppsättningen stoppa eventuella överflödiga instanser.

Definiera villkor, regler och gränser för autoskalning

Automatisk skalning baseras på en uppsättning skalningsvillkor, -regler och -begränsningar. I ett skalningsvillkor kombineras en tid och en uppsättning skalningsregler. Om den aktuella tiden infaller inom den period som definieras i skalningsvillkoret utvärderas villkorets skalningsregler. Resultatet av den här utvärderingen avgör om instanser ska läggas till i eller tas bort från skalningsuppsättningen. Skalningsvillkoret innehåller också gränserna för högsta och lägsta antal instanser i skalningsuppsättningen.

I scenariot shipping-company kan du lägga till skalningsregler som övervakar CPU-användningen i skalningsuppsättningen. Om processoranvändningen överskrider tröskelvärdet på 75 procent kan skalningsregeln öka antalet instanser av virtuella datorer. En andra skalningsregel kan också övervaka CPU-användning, men minska antalet virtuella datorinstanser när användningen understiger 50 procent. Eftersom appen är global ska de här reglerna vara aktiva hela tiden snarare än under specifika tidsperioder.

En VM-skalningsuppsättning kan innehålla många skalningsvillkor. Varje matchande skalningsvillkor åtgärdas. En skalningsuppsättning kan även innehålla ett standardskalningsvillkor som används om inga andra skalningsvillkor matchar de aktuella måtten för tid och prestanda. Standardskalningsvillkoret är alltid aktivt. Den innehåller inga skalningsregler och fungerar effektivt som ett nullskalningsvillkor som inte skalas in eller ut. Du kan dock ändra standardskalningsvillkoret för att ange ett standardinstansantal eller lägga till ett par skalningsregler som skalar ut och in igen.

Använda schemabaserad autoskalning

Schemabaserad skalning anger en start- och sluttid och antalet instanser som ska läggas till i skalningsuppsättningen. Följande skärmbild visar ett exempel i Azure-portalen. Antalet instanser skalas ut till 20 mellan 06 och 18 varje måndag och onsdag. Om det inte finns några andra skalningsvillkor används standardskalningsvillkoret utanför de tiderna.

I det här fallet skalar standardregeln tillbaka systemet till två instanser. Det här värdet är maxvärdet i standardskalningsvillkoret.

Skärmbild med ett exempel på ett schemabaserat skalningsvillkor.

Använda måttbaserad autoskalning

Med en måttbaserad skalningsregel anger du vilka resurser som ska övervakas, till exempel processoranvändning eller svarstider. Den här skalningsregeln lägger till eller tar bort instanser från skalningsuppsättningen enligt måttens värden. Du kan ange gränser för antalet instanser för att förhindra att en skalningsuppsättning skalas in eller ut för mycket.

I exemplet vill du öka antalet instanser med en när den genomsnittliga processoranvändningen överskrider 75 procent. Dessutom vill du begränsa utskalningen till 50 instanser. Den här gränsen kan förhindra att utskalningen skenar vid en eventuell attack. På samma sätt vill du skala in när den genomsnittliga processoranvändningen sjunker under 50 procent.

Dessa mått används ofta för att övervaka en VM-skalningsuppsättning:

  • Processorprocentandel: Det här måttet anger processoranvändningen över samtliga instanser. Ett högt värde anger att instanserna håller på att bli begränsade av sina processorer, vilket kan orsaka fördröjningar i bearbetningen av förfrågningar från klienterna.
  • Inkommande och utgående flöden: Dessa mått visar hur snabbt nätverkstrafiken flödar in till och ut från de virtuella datorerna i skalningsuppsättningen.
  • Diskläsningsåtgärder/s och diskskrivningsåtgärder/s: Dessa mått visar I/O-volymen för diskarna i skalningsuppsättningen.
  • Ködjup för datadisk: Det här måttet visar hur många I/O-förfrågningar till datadiskarna i de virtuella datorerna som väntar på att bli bearbetade.

Skalningsregeler aggregerar de värden som hämtas för ett mått över samtliga instanser. Värdena aggregeras över en period som kallas för ett tidsintervall. Varje mått har ett eget tidsintervall, men i de flesta fall är intervallet en minut. Det aggregerade värdet kallas för tidsmängden. Tidsmängsalternativen är genomsnitt, minimum, maximum, totalt, senaste och antal.

Ett intervall på en minut räcker inte för att fastställa om en måttförändring är långvarig nog att göra autoskalning lönsamt. Därför används ett andra steg i skalningsregler där tidsmängden aggregeras över en längre tidsperiod som användaren anger. Den här perioden kallas för varaktigheten. Den minsta varaktigheten är fem minuter. Om varaktigheten till exempel sätts till 10 minuter så aggregerar skalningsregeln 10 värden som beräknas för tidsintervallet.

Varaktighetens aggregerings kan skilja sig från tidsintervallets aggregering. Anta till exempel att tidsmängden är genomsnitt och att statistiken som samlas in är processorprocentandel för ett tidsintervall på en minut. För varje minut beräknas den genomsnittliga cpu-procentanvändningen för alla instanser under den minuten. Om statistiken för tidsintervallet är inställd på maximum och regelns varaktighet är 10 minuter används det högsta av de 10 genomsnittliga värdena för processorprocentandelen till att avgöra om regelns tröskelvärde har överskridits.

När en skalningsregel upptäcker att ett mått har överskridit ett tröskelvärde kan den utföra en skalningsåtgärd. En skalningsåtgärd kan vara utskalning eller inskalning. En utskalningsåtgärd ökar antalet instanser. En inskalningsåtgärd minskar antalet instanser.

I skalningsåtgärder används en operator som mindre än, större än eller lika med till att avgöra hur åtgärden ska reagera på tröskelvärdet. I utskalningsåtgärder används vanligtvis operatorn större än till att jämföra måttvärdet med tröskelvärdet. I inskalningsåtgärder jämförs måttvärdet med tröskelvärdet vanligtvis med operatorn mindre än. Skalningsåtgärder anger även instansantalet till en viss nivå snarare än att öka eller minska antalet tillgängliga instanser.

Skalningsåtgärder har en nedkylningstid som anges i minuter. Under den här perioden kan inte skalningsregeln utlösas igen. Nedkylningstiden gör att systemet kan stabiliseras mellan olika skalningshändelser. Det tar tid att starta och stänga av instanser, så du kanske inte ser några större ändringar i måtten på flera minuter. Den kortaste nedkylningsperioden är fem minuter.

Slutligen bör du planera för en inskalning när en arbetsbelastning minskar. Överväg att definiera skalningsregler i par för samma skalningsvillkor. En skalningsregel bör indikera hur systemet ska skalas upp när ett mått överskrider ett övre tröskelvärde. Den andra regeln bör definiera hur systemet ska skalas tillbaka igen när samma mått understiger ett nedre tröskelvärde. Använd inte samma tröskelvärde i reglerna. Annars kan du utlösa en serie oscillerande händelser som skalar ut och in igen.

I bilden nedan ser du en skalningsregel som definierats på Azure-portalen.

Skärmbild av en måttbaserad skalningsregel på Azure-portalen.