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

un

gość
1 / ?
powrót do lekcji

L = λ × W

Najbardziej użyteczna równanie w planowaniu zdolności

Dla każdej stabilnej kolejki, niezależnie od jej wewnętrznej struktury: L = λ × W, gdzie:

- L = średnia liczba elementów w systemie (w toku lub czekających)

- λ (lambda) = średnia szybkość przyjścia (elementów na jednostkę czasu)

- W = średni czas, który każdy element spędza w systemie

Czytelność geometryczna: nakreśl λ na jednej osi oraz W na drugiej. Produkt L to obszar prostokąta, który tworzą. Planowanie zdolności odbywa się wewnątrz tego prostokąta.

Dlaczego ma to znaczenie: dowolne dwa z tych trzech ilorazów pozwalają obliczyć trzeci. Miary przepustowości i opóźnienia wiesz, jakie są zajęcia. Miary zajętości i przepustowości wiesz, jakie są opóźnienia. Prawo jest odporną: zastosowuje się je do żądań sieci WWW, stolików restauracyjnych, kolejek supermarketowych i pętli CPU bez modyfikacji.

Trzy konkretne przykłady:

- Usługa sieciowa obsługuje 200 żądań/s z średnim opóźnieniem 50 ms (0,05 s). L = 200 × 0,05 = 10 w toku.

- Kawiarnia obsługuje 60 klientów/h z średnim czasem pobytu 15 minut (0,25 h). L = 60 × 0,25 = 15 klientów wewnętrznych.

- Pula tła obsługuje 1500 żądań/s z średnim opóźnieniem 200 ms (0,2 s). L = 1500 × 0,2 = 300 w toku.

Skutki dla rozmiaru: liczba pracowników / liczba wątków / liczba połączeń warstwy musi wynosić co najmniej L, aby utrzymać się na bieżąco. Cokolwiek mniej oznacza wzrost kolejki.

Prawo Little jako obszar: λ na osi x, W na osi y, L = obszar

Twoja warstwa API obsługuje 1,200 żądań/s z średnią opóźnieniem 80 ms. Zastosuj Prawo Little, aby obliczyć L. Następnie wyjaśnij, co się zmienia (a) gdy ruch podwaja się do 2,400 żądań/s z niezmienionym opóźnieniem, oraz (b) gdy ruch pozostaje na poziomie 1,200 ale opóźnienie wzrasta do 160 ms. Który z scenariuszy wygeneruje większe L, a co to oznacza operacyjnie?

Dlaczego opóźnienie wybuchają po 80% wykorzystania

Najważniejsza krzywa w działaniach

Wykorzystanie planszy na osi x (0% do 100%) & średni czas oczekiwania na osi y. Kształt jest jednym z najważniejszych krzywych w planowaniu zdolności.

Model kolejki M/M/1: dla systemu z przychodzącymi Poisson (losowe) & czasami obsługi wykładnicze (losowe), średni czas oczekiwania:

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

gdzie ρ to wykorzystanie (0 do 1) & μ to stawka usług.

Kształt krzywej:

- Na ρ = 0,5 (50% wykorz.), czas oczekiwania jest mały (1 czas usługi).

- Na ρ = 0,7 (70% wykorz.), czas oczekiwania to ~2,3 czasów usługi.

- Na ρ = 0,8 (80% wykorz.), czas oczekiwania to ~4 czasów usługi.

- Na ρ = 0,9 (90% wykorz.), czas oczekiwania to ~9 czasów usługi.

- Na ρ = 0,95 (95% wykorz.), czas oczekiwania to ~19 czasów usługi.

- Na ρ = 1,0 (100% wykorz.), czas oczekiwania jest nieskończony.

Kolano: około 80% wykorzystania, krzywa się gwałtownie zakrzywia. Poniżej kolana, zdolność jest komfortowa; powyżej, opóźnienie rośnie szybciej niż wykorzystanie.

Praktyczne czytanie: celować w 70% wykorzystania dla stanu steady-state, nigdy 100%. 30% 'przestrzeni' nie jest stracone; to jest cena za związane opóźnienia.

Kolejka krzywa z kolana na 80% wykorzystania

Rozmiarowanie Po Przekątnej Kolana

Dwa scenariusze:

Scenariusz A: 10 replik działających na 60% CPU. Latencja p99 = 100 ms.

Scenariusz B: ten sam zestaw uruchomieniowy działający na 90% CPU w wyniku wzrostu ruchu. p99 = 600 ms.

Ten sam zestaw uruchomieniowy, ten sama kod, tylko wykorzystanie się zmieniło.

Wyjaśnij, dlaczego opóźnienie scenariusza B jest 6x gorsze pomimo tylko 1,5-krotnego wzrostu wykorzystania, korzystając z geometrycznego kształtu krzywej kolejki. Następnie zaproponuj: na jakim wykorzystaniu zespół powinien dodać zdolność & dlaczego ten próg zamiast czekać na rzeczywiste naruszenie SLO?

Rozmiarowanie i Wyzwalanie Razem

Synteza

Teraz możesz zastosować prawo Little'a jako prostokąt, przeczytać krzywą kolejki i jej kolano, a następnie połączyć oba elementy z decyzjami dotyczącymi zdolności.

Zastosuj oba elementy.

Tier backend obsługuje 2000 żądań na sekundę z średnią opóźnieniem 50 ms na replikę o zdolności 80 żądań na sekundę przy 70% CPU. Współczynnik wzrostu 2x; chcesz przetrwać 3 jednoczesne awarie replik.

Oblicz: (1) L korzystając z prawa Little'a na podstawowym poziomie; (2) liczba replik używając formuły z lekcji (peak × surge / per-replica) + headroom; (3) na jakim obserwowanym wykorzystaniu przez cały zestaw uruchomieniowy powinno być wyzwalane automatyczne skalowanie & uzasadnij próg wykorzystania korzystając z krzywej kolejki.

Notatki towarzyszące

Notatki towarzyszące

Tą geometrią-lesion przekształcamy nieskończenie skalowanie poziome bezstanowe główną lekcją na geometrię ilościową.

Następna towarzysząca lekcja, geometry_of_ingress_egress_separation, przekształca podział granicy sieciowej jako bipartite graf z wierzchołkiem cięcia, który usuwa podział.

Brawo!