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

un

гість
1 / ?
назад до уроків

L = λ × W

Найкорисніша формула в плануванні ємності

Для будь-якої стабільної черги, незалежно від її внутрішньої структури: L = λ × W, де:

- L = середня кількість предметів у системі (в процесі або у чатуванні)

- λ (лямбда) = середня швидкість прибуття (предметів на одиницю часу)

- W = середній час, який кожен предмет витрачає у системі

Геометричний прочитання: зобразіть λ по одній осі та W по іншій. Продукт L є об'ємом прямокутника, який вони утворюють. Планування ємності відбувається всередині цього прямокутника.

Чому це має значення: будь-які дві з трьох величин визначають третю. Якщо вимірювати черезпуск та затримку, ви знаєте зайомість. Якщо вимірювати зайомість та черезпуск, ви знаєте затримку. Закон є міцним: він застосовується до веб-запитань, столових ресторану, супермаркетів черг, та CPU-пайплайнів без змін.

Три конкретних приклади:

- Вебслужба обробляє 200 запитань/с з середньою затримкою 50 мс (0,05 с). L = 200 × 0,05 = 10 в польоті.

- Кав'ярня обслуговує 60 клієнтів/год з середнім часом перебування 15 хвилин (0,25 год). L = 60 × 0,25 = 15 клієнтів всередині.

- Пул задач обробляє 1500 запитань/с з середньою затримкою 200 мс (0,2 с). L = 1500 × 0,2 = 300 в польоті.

Наступство розміщення: кількість робітників / потоків / підключень рівня повинен бути принаймні L, щоб утримувати швидкість. Anything less means queue growth.

Закон Літтла як об'єм: λ на x, W на y, L = об'єм

Ваш рівень API обробляє 1,200 запитань/с з середньою затримкою 80 мс. Застосуйте закон Літтла для обчислення L. Потім поясніть, що зміниться (а) якщо трафік подвоїться до 2,400 запитань/с з незмінною затримкою та (b) якщо трафік залишається на рівні 1,200, але затримка зростає до 160 мс. Який сценарій призводить до більшого L та що це означає оперативно?

Чи зриває затримка понад 80% використання

Найважливіший графік у роботі

Графік використання на осі X (0% до 100%) та середній час очікування на осі Y. Форма є однією з найбільш важливих кривих у плануванні потужності.

Модель чергування M/M/1: для системи з випадковими прихідами (Poisson) та випадковими часами обслуговування (exponential), середній час очікування:

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

де ρ - використання (0 до 1) та μ - швидкість обслуговування.

Форма кривої:

- При ρ = 0.5 (50% використов.), час очікування невеликий (1 час обслуговування).

- При ρ = 0.7 (70% використов.), час очікування ~2.3 часів обслуговування.

- При ρ = 0.8 (80% використов.), час очікування ~4 часи обслуговування.

- При ρ = 0.9 (90% використов.), час очікування ~9 часів обслуговування.

- При ρ = 0.95 (95% використов.), час очікування ~19 часів обслуговування.

- При ρ = 1.0 (100% використов.), час очікування безкінечний.

Нога: близько 80% використання, крива різко відхиляється. Понизу ноги, потужність комфортна; вище, затримка зростає швидше, ніж використання.

Практичне прочитання: максимально 70% використання для стабільного стану, ніколи 100%. 30% "пустої потужності" не є витратами; це ціна обмеженого часу затримки.

Кривая чергування з коліном на 80% використання

Розмірування через ногу

Два сценарії:

Сценарій A: 10 реплік, які працюють на 60% CPU. Latency p99 = 100 ms.

Сценарій B: той же флот, який працює на 90% CPU через зростання трафіку. p99 = 600 ms.

Той сам флот, той же код, лише використання змінилося.

Обґрунтувати, чому затримка у сценарії B становить 6 разів більше, хоча зростання використання становить лише 1.5 рази, використовуючи геометричну форму кривої чергування. Потім запропонуйте: наскільки використання повинен збільшитися, щоб команда додала потужність, та чому ця порогова значення, а не очікування реальної порушення СЛО?

Розмір і спрацювання разом

Синтез

Тепер ви можете застосувати закон Літтла як прямокутник, прочитати криву черги та її коліно, та зв’язати обидва з рішеннями щодо потужності.

Застосуйте обидва.

Повздовжній рівень обробки обробляє 2000 запитів/с з середньою затримкою 50 мс на репліку, потужність репліки 80 запитів/с при 70% CPU. Коефіцієнт спаду 2x; ви хочете вижити при 3 одночасних збоїв репліки.

Обчислити: (1) L за допомогою закону Літтла на базовому рівні; (2) кількість реплік за формулою з уроку (peak × surge / per-replica) + headroom; (3) наскільки спостережуване використання по флоту повинно спрацювати автоматичного збільшення потужності, та обґрунтувати порогове значення за допомогою кривої чергування.

Допоміжні Примітки

Допоміжні Примітки

Ця геометрія-ліярність перетворює основну лярню Stateless Horizontal Scaling як кількісну геометрію.

Наступна допоміжна лярня, geometry_of_ingress_egress_separation, перетворює розділення мережевого кордону як двосторонню графу з вершиною розрізу, яку видалення розрізу видаляє.

Добре зроблено.