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

un

ospite
1 / ?
torna alle lezioni

L = λ × W

La più utile equazione nella pianificazione della capacità

Per qualsiasi coda stabile, indipendentemente dalla sua struttura interna: L = λ × W, dove:

- L = numero medio di elementi nel sistema (in corso di lavorazione o in attesa)

- λ (lambda) = tasso medio di arrivo (elementi per unità di tempo)

- W = tempo medio trascorso da ciascun elemento nel sistema

La lettura geometrica: traccia λ su un asse e W sull'altro. Il prodotto L è l'area del rettangolo che formano. La pianificazione della capacità vive all'interno di questo rettangolo.

Perché è importante: qualsiasi due delle tre grandezze determina la terza. Misuri throughput e latenza, sapete occupazione. Misurare occupazione e throughput, sapete la latenza. La legge è robusta: si applica alle richieste web, alle sedute di un ristorante, alle code del supermercato e alle pipeline del processore senza modifiche.

Tre esempi concreti:

- Un servizio web gestisce 200 richieste al secondo con latenza media di 50 ms (0,05 s). L = 200 × 0,05 = 10 in corso di lavorazione.

- Un bar gestisce 60 clienti all'ora con tempo di permanenza medio di 15 minuti (0,25 h). L = 60 × 0,25 = 15 clienti all'interno.

- Un pool back-end gestisce 1500 richieste al secondo con latenza media di 200 ms (0,2 s). L = 1500 × 0,2 = 300 in corso di lavorazione.

Implicazione di dimensionamento: il numero di lavoratori / thread / connessioni di un livello deve essere almeno L per mantenere il ritmo. Qualcosa di meno significa crescita della coda.

La Legge di Little come area: λ su x, W su y, L = area

Il tuo livello di API gestisce 1,200 richieste al secondo con latenza media di 80 ms. Applica la Legge di Little per calcolare L. Spiegare poi cosa cambia (a) se il traffico raddoppia a 2,400 richieste al secondo con latenza invariata e (b) se il traffico resta a 1,200 con la latenza che sale a 160 ms. Qual è lo scenario che produce un L più grande e cosa significa questo operativamente?

Perché la latenza esplode oltre il 80% di utilizzo

La curva più importante nelle operazioni

Tracciato dell'utilizzo sullassida x (0% a 100%) & tempo medio di attesa sulla y. La forma è una delle curve più importanti nella pianificazione delle capacità.

Modello di coda M/M/1: per un sistema con arrivi di Poisson (casuali) & tempi di servizio esponenziali (casuali), tempo medio di attesa in coda:

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

dove ρ è l'utilizzo (0 a 1) & μ è la velocità di servizio.

Forma della curva:

- A ρ = 0.5 (50% di utilizzo), il tempo di attesa è piccolo (1 tempo di servizio).

- A ρ = 0.7 (70% di utilizzo), il tempo di attesa è ~2.3 tempi di servizio.

- A ρ = 0.8 (80% di utilizzo), il tempo di attesa è ~4 tempi di servizio.

- A ρ = 0.9 (90% di utilizzo), il tempo di attesa è ~9 tempi di servizio.

- A ρ = 0.95 (95% di utilizzo), il tempo di attesa è ~19 tempi di servizio.

- A ρ = 1.0 (100% di utilizzo), il tempo di attesa è infinito.

Ginocchio: intorno all'80% di utilizzo, la curva si piega bruscamente. Sotto il ginocchio, la capacità è confortevole; sopra, la latenza aumenta più velocemente dell'utilizzo.

Lettura pratica: mira a un utilizzo del 70% per uno stato stazionario, mai al 100%. Lo 'spazio' del 30% non è sprecato; è il prezzo della latenza limitata.

Curva di coda con ginocchio all'80% di utilizzo

Dimensionamento oltre il Ginocchio

Due scenari:

Scenario A: 10 repliche in esecuzione al 60% di CPU. Latenza p99 = 100 ms.

Scenario B: stesso fleet in esecuzione al 90% di CPU a causa della crescita del traffico. p99 = 600 ms.

Stesso fleet, stesso codice, cambiato solo l'utilizzo.

Spiegare perché il tempo di latenza del scenario B è 6 volte peggiore nonostante un aumento di utilizzo del solo 1.5 volte, utilizzando la forma geometrica della curva di coda. Proporre poi: a che utilizzo la squadra dovrebbe aggiungere capacità e perché quel livello invece di aspettare la violazione effettiva degli SLO?

Dimensionare e Triggere insieme

Synthesis

Puoi ora applicare la legge di Little come un rettangolo, leggere la curva della coda e il suo ginocchio, e collegare entrambi alle decisioni di capacità.

Applica entrambi.

Un livello back-end gestisce 2.000 richieste al secondo con latenza media di 50 ms per replica, capacità 80 richieste al secondo a 70% di utilizzo del CPU. Fattore di sopravvivenza 2x; vuoi sopravvivere a 3 fallimenti simultanei dei replicanti.

Calcolare: (1) L utilizzando la legge di Little allo stato di partenza; (2) il numero di repliche utilizzando la formula del lezione (picco × surroga / per-replica) + spazio; (3) a che utilizzo osservato su tutto il fleet dovrebbe attivarsi l'auto-scaling e giustificare il livello di soglia utilizzando la curva di coda.

Note di accompagnamento

Note di accompagnamento

Questa geometria-di lezione riformula il Stateless Horizontal Scaling lezione principale come geometria quantitativa.

La prossima compagna, geometry_of_ingress_egress_separation, riformula lo split della frontiera di rete come un grafo bipartito con un vertice di taglio che lo split rimuove.

Ben fatto.