English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

gäst
1 / ?

L = λ × W: En rektangel

Littles lag: Den mest användbara ekvationen i kapacitetsplanering

John Little bevisade 1961 att för alla stabila köer, oavsett intern struktur: L = λ × W, där:

- L = genomsnittligt antal objekt i systemet (kö + i service)

- λ (lambda) = genomsnittlig ankomsthastighet för objekt per tidsenhet

- W = genomsnittlig tid varje objekt tillbringar i systemet

Den geometriska läsningen: plotta ankomsthastighet λ på en axel & vistelsetid W på den andra. Produkten L är området för den rektangel de bildar. Kapacitetsplanering lever inom denna rektangel.

Varför det är viktigt: två av de tre storheterna bestämmer den tredje. Om du mäter genomströmning och latens vet du beläggning. Om du mäter beläggning och genomströmning vet du latens. Lagen är robust: den gäller webbförfrågningar, restaurangbord, snabbkörsköer och CPU-pipelines utan ändring.

Tre konkreta exempel:

- En webbtjänst hanterar 200 förfrågningar/sekund med genomsnittlig latens 50 ms (0,05 s). L = 200 × 0,05 = 10 förfrågningar i luften när som helst.

- En kaffebar serverar 60 kunder/timme med genomsnittlig vistelsetid 15 minuter (0,25 h). L = 60 × 0,25 = 15 kunder inne i genomsnitt.

- En fabriksmonteringslinje producerar 100 widgetar/timme och varje widget tar 2 timmar från början till slut. L = 100 × 2 = 200 widgetar under bearbetning.

Försörjningskonsekvens: om du kan dimensionera för L (samtidiga objekt i luften) har du dimensionerat för systemet. Antalet arbetartrådar, databasanslutningar eller kö slots härleds alla från L.

Littles lag som en rektangel: λ på x, W på y, område = L

Dimensionering av en arbetarpool

Din videokodningsservice är dimensionerad för en genomsnittlig ankomsthastighet på 30 kodningsjobb per minut, var och en tar 90 sekunder från början till slut. Den nuvarande arbetarpolen har 30 arbetare.

Tillämpa Littles lag för att avgöra om den nuvarande polen är lämpligt dimensionerad. Visa ditt arbete. Förklara sedan vad som förändras om ankomsthastigheten fördubblas och vad som förändras om den individuella kodningstiden fördubblas. Vilket scenario belastar systemet mer?

Varför latensen exploderar efter 80% utnyttjande

Den viktigaste kurvan i kapacitetsplanering

Plotta utnyttjande på x-axeln (0% till 100%) och genomsnittlig latens på y-axeln. Den form som uppstår är en av de viktigaste kurvorna i verksamhet: den förklarar varför team siktar på utnyttjande långt under 100%, varför reserverad headroom inte är slöseri och varför system som körs 'effektivt' vid högt utnyttjande hasar över utan varning.

M/M/1-köningskurvan: för ett system med Poisson-ankomster (slumpmässiga) och exponentiella servicetider (slumpmässiga) följer den genomsnittliga väntetiden:

W_q = ρ / (μ(1-ρ))

där ρ (rho) är utnyttjandet (0 till 1) och μ är servicehastigheten. Nämnaren (1-ρ) är pointen: när ρ närmar sig 1 närmar sig nämnaren 0 och väntetiden närmar sig oändlighet.

Numeriska exempel (latensförhållande vs ρ för M/M/1):

- ρ = 0,5: latensförhållande 1,0 (baslinje)

- ρ = 0,7: latensförhållande ~2,3

- ρ = 0,8: latensförhållande ~4,0

- ρ = 0,9: latensförhållande ~9,0

- ρ = 0,95: latensförhållande ~19,0

- ρ = 0,99: latensförhållande ~99,0

Armbågen sitter omkring 70-80% utnyttjande. Under armbågen ökar latensen långsamt när belastningen ökar. Över armbågen exploderar latensen olinjärt. Det är därför den kanoniska SRE-regeln är: sikta på steady-state-utnyttjande under 80%, kör aldrig prolongerat över 90%.

Varför traditionella ops-team underskattar detta: en server vid 60% CPU 'ser sysselsatt ut' men har bekväm latensheadroom. En server vid 90% CPU 'ser produktiv ut' men är ett arbetsbelastningshopp bort från latenskatastrof. Den geometriska sanningen: kurvans lutning är det faktiska hotet, inte dess nuvarande y-värde.

M/M/1-köningskurva: x = utnyttjande, y = latens, armbåge vid ~80%

Läsa kurvan

Ett team kör en tjänst vid 85% CPU-utnyttjande i steady state. Nuvarande p99-latens är 200 ms. De överväger att lägga till 30% mer trafik för att konsolidera arbetsbelastning från en annan tjänst som fasas ut.

Förutspå vad som händer med latensen vid 85% som blir ungefär 110% (överkapacitet) med hjälp av köningskurvan. Varför kan CPU-utnyttjandet över 100% bokstavligen inte upprätthållas och vilken synlig symptom ersätter det? Rekommendera ett målutnyttjande för den konsoliderade arbetsbelastningen och motivera den headroom du lämnar.

Lutning, skärning & prognonskonen

Läsa tillväxt från en lutning

Prognostisering av efterfrågan reduceras (i många fall) till att dra rätt linje genom historiska data. De geometriska egenskaperna för den linjen: lutning, skärning och osäkerhetskonen kodar hela prognosen.

Linjär trend (y = mx + b): lämplig för korta fönster eller genuint linjära processer. Lutning m är tillväxthastigheten per tidsenhet. Skärning b är startvärdet. Användbar när tillväxten är stabil. Tenderar att underskatta när processen faktiskt är sammansatt.

Exponentiell trend (y = b × e^(mx)): lämplig för sammansatt tillväxt: viral adoption, användarens nätverkseffekter, multiplikativ säsongsvariation. På en log-skala y-axel blir exponentiell tillväxt linjär, vilket gör lutningsuppskattning enklare. Lutning m på log-skala är tillväxthastigheten per tidsenhet.

Bitvis linjär: lämplig när tillväxten har distinkta regimer. En startup kan växa långsamt i 18 månader, sedan ha en viral böjning som producerar 6 månaders explosiv tillväxt, sedan plateå. Tre linjära segment passar detta bättre än någon enskild kurva.

Prognonskonen: den centrala uppskattningen plus övre och nedre gränser, ritade som en vidgande kon in i framtiden. Konens bredd växer över tid eftersom osäkerhet ökar. En 4-veckors prognos kan ha ±10% gränser; en 12-månadsprognos har ofta ±50% eller mer.

Säsongsnedbrytning: verklig efterfrågan kombinerar trend + säsongscykel + brus. Statistiska bibliotek (statsmodels, Prophet) dekomponerar en serie i dessa tre komponenter, vilket tillåter att trenden projiceras separat från säsongsströlet. Geometriskt är trenden den underliggande driften, säsongsväxlingen är den periodiska krusningen på toppen och bruset är den återstående jitterbussen.

Prognonskonen: trendlinje, säsongsripplingar, vidgande osäkerhetsgränser

Att välja en trendmodell

Du har 24 månader med månatliga begärandevolymer. Månad 1-12 växte från 1M till 2M (linjär-utseende, +83K/månad). Månad 13-18 växte från 2M till 4M (brantare, +330K/månad). Månad 19-24 växte från 4M till 12M (mycket brantare fortfarande). Marknadsföring bekräftar att en viralt produktfunktion lanserades i månad 13 som körde böjningen.

Vilken trendmodell passar bäst: rent linjär, rent exponentiell eller bitvis linjär? Motivera ditt val med hjälp av lutningsbeteendet. Föreslå sedan hur man prognostiserar månad 25-30: explicit centraluppskattning, övre gräns och nedre gräns. Vilken verklig händelse kunde bryta någon av gränserna?

Kapacitet vs efterfrågan som 2D-geometri

Plottet varje kapacitetsteam lever inuti

Plotta tid på x-axeln. Plotta efterfrågan och kapacitet på y-axeln som två separata linjer. Det vertikala gapet mellan dem vid någon tidpunkt är headroom. Det 2D-området mellan kurvorna är headroom-kuvertet.

Tre referensformer:

- Hälsosamt kuvert: kapacitetslinje förblir bekvämt över efterfrågelinje. Gapet kan minska under toppar men försvinner aldrig. Kuvertet är ett säkerhetsband.

- Stängande kuvert: kapaciteten växer långsammare än efterfrågan. Gapet blir snävrare över tid. Skärningspunkten i framtiden är när systemet tar slut på headroom: det datum då teamet måste lägga till kapacitet senast.

- Inverterat kuvert: efterfrågan överstiger kapaciteten. Systemet är på incidentterritorium. Den vertikala storleken på inversionen är underskottet som måste hanteras på något sätt (kö-överflöde, felfrekvenser, kundpåverkan).

Standardkapacitetsplangrafen plottar:

- Nylig efterfrågehistorik (hel blå linje)

- Prognostiserad efterfrågan med gränser (streckad linje + skuggad kon)

- Nuvarande kapacitet (hel grön linje)

- Planerade kapacitetsökning med leveransdatum (stegfunktion)

- Skärningsdatumet där prognostiserad efterfrågan korsar nuvarande kapacitet: detta är deadline för nästa försörjning

Den visuella beslutsregeln: håll stegfunktionen för kapacitet ovanför den övre gränsen för prognonskonen hela tiden. Provisionera inte till den centrala uppskattningen; provisionera till den övre gränsen. Kostnaden för överförsörjning är ändlig (viss ledig kapacitet); kostnaden för underförsörjning är obunden (förlorade användare, kaskadfel, rykteskada).

Headroom-kuvert: efterfrågelinje, kapacitetstegfunktion, prognonskonen, skärningsdatum

Läsa kuvertet

Din kapacitetsgraf visar: nuvarande efterfrågan är 1 500 RPS som växer 20% per månad. Nuvarande kapacitet är 2 500 RPS. En ny serverbatch (+1 500 RPS-kapacitet) anländer om 8 veckor. Prognosskonen har ±15% gränser vid 8-veckors horizont.

Beräkna datumet när prognostiserad efterfrågan (centraluppskattning, övre gräns) träffar nuvarande kapacitet. Kommer den nya serverbatchen att anlända i tid? Vilken är den visuella formen av kuvertet mellan nu och den nya batchens ankomst, och vilken åtgärd skulle du vidta om den övre gränsen för efterfrågan korsar nuvarande kapacitet innan den nya batchen anländer?

Geometri för kapacitet: Sammanfattning

Former som förutsäger framtiden

Du har gått igenom fyra geometriska strukturer som löper under kapacitetsplanering:

- Littles lag (L = λ × W) som området för en rektangel som definierar steady-state beläggning

- Köningskurvan med sin armbåge vid 80% utnyttjande, kodande den olinjära kostnaden för att köra het

- Trendlutningar och prognoskonor som förvandlar historiska data till handlingsbara projektioner

- Headroom-kuvert som 2D-plottar av kapacitet kontra efterfrågan, med skärningsdatum som markerar försörjningsdeadlines


Kapacitetsplanering är, på sin visuella kärna, disciplinen att hålla en kurva säkert ovanför en annan över tid. Siffrorna är klädsel; formerna bär sanningen. En kapacitetsingenjör som läser köningskurvan korrekt kommer att fånga problem som en CPU-instrumentpanel döljer tills systemet redan brinner.


Följeslessonens kapacitetsplanering täckte praktieken: mätning, prognostisering, taktest, headroom och skalning. Denna lektion täckte geometrin under dem. Tillsammans bildar de det visuella och analytiska byggstillståndet för att köra tjänster som skalas utan överraskning.