L = λ × W
De Meest Nuttige Verzameling in Capaciteitsplanning
Voor elke stabiele wachtrij, ongeacht haar interne structuur: L = λ × W, waar:
- L = gemiddelde aantal items in het systeem (in voorbereiding of wachtend)
- λ (lambda) = gemiddelde aankomstfrequentie (items per eenheid tijd)
- W = gemiddelde tijd dat elk item in het systeem doorbrengt
De wiskundige lezing: teken λ op een as en W op de andere. Het product L is het oppervlak van de rechthoek die ze vormen. Capaciteitsplanning vindt plaats binnen deze rechthoek.
Waarom het belangrijk is: elke drie quantiteiten bepalen de derde. Meet doorvoer en latentie, weet u de bezetting. Meet bezetting en doorvoer, weet u de latentie. De wet is robuust: het is van toepassing op webaanvragen, restauranttafels, supermarkt wachtrijen & CPU-pijplijnen zonder aanpassing.
Drie concrete voorbeelden:
- Een webdienst verwerkt 200 aanvragen per seconde met gemiddelde latentie 50 ms (0,05 s). L = 200 × 0,05 = 10 in voorbereiding.
- Een koffieshop serveert 60 klanten per uur met gemiddelde doorbrengtijd 15 minuten (0,25 uur). L = 60 × 0,25 = 15 klanten binnen.
- Een back-endpool verwerkt 1500 aanvragen per seconde met gemiddelde latentie 200 ms (0,2 s). L = 1500 × 0,2 = 300 in voorbereiding.
Implicatie van afmetingen: het aantal werknemers / draad / verbinding van een laag moet ten minste L zijn om bij te blijven. Minder betekent groei van de wachtrij.
Waarom Latentie Explodeert Na 80% Benutting
De Meest Belangrijke Curve in Bedrijfsvoering
Plotter gebruik van de x-as (0% tot 100%) & gemiddelde wachttijd op de y-as. De vorm is een van de meest cruciale curve in capaciteitsplanning.
Het M/M/1 wachtrijmodel: voor een systeem met Poisson aankomsten (willekeurig) & exponentiële service tijden (willekeurig), gemiddelde wachttijd:
W_q = ρ / (μ × (1 - ρ))
waar ρ is de benutting (0 tot 1) & μ is de service snelheid.
De vorm van de curve:
- Bij ρ = 0,5 (50% benutting), wachttijd is klein (1 service tijd).
- Bij ρ = 0,7 (70% benutting), wachttijd is ∾2,3 service tijden.
- Bij ρ = 0,8 (80% benutting), wachttijd is ∾4 service tijden.
- Bij ρ = 0,9 (90% benutting), wachttijd is ∾9 service tijden.
- Bij ρ = 0,95 (95% benutting), wachttijd is ∾19 service tijden.
- Bij ρ = 1,0 (100% benutting), wachttijd is oneindig.
De knie: rond de 80% benutting, de curve buigt scherp. Onder de knie, is de capaciteit comfortabel; boven de knie, neemt de latentie sneller toe dan de benutting.
Praktisch lezen: richt op 70% benutting voor een stabiele staat, nooit 100%. De 30% 'ruimte' is niet verspilling; het is de prijs van beperkte latentie.
Groter maken over de knie
Twee scenario's:
Scenario A: 10 replica's die 60% CPU gebruiken. Latency p99 = 100 ms.
Scenario B: dezelfde vloot die 90% CPU gebruikt vanwege verkeersgroei. p99 = 600 ms.
Zelfde vloot, zelfde code, alleen benutting is veranderd.
Grootte & Uitlating Samen
Synthese
Je kunt nu Little's Wet toepassen als een rechthoek, de wachtrijcurve lezen & haar knie, en beide verbinden met capaciteitsbeslissingen.
Toepassen van beide.
Een achterste laag verwerkt 2.000 aanvragen per seconde met een gemiddelde latentie van 50 ms per replica capaciteit 80 aanvragen per seconde bij 70% CPU. Overgangsfactor 2x; je wilt overleven bij 3 gelijktijdige replica-fouten.
Bijsluiter Notities
Bijsluiter Notities
Deze wiskundeleer van de les herformuleert de Stateless Horizontale Schaling hoofdles als kwantitatieve wiskunde.
De volgende bijsluiter, geometry_of_ingress_egress_separation, herformuleert de netwerkgrens splitsing als een bipartiet grafiek met een knooppunt dat de splitsing verwijdert.
Goed gedaan.