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, щоб утримувати темп. Будь-яке менше значення призведе до зростання черги.

Закон Літтла як площа: λ на осі X, W на осі Y, L = площа

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

Чому затримки різко зростають при використанні понад 80%

Найважливіша крива в операційному управлінні

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

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

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 реплік працюють із завантаженням CPU 60%. Затримка p99 = 100 мс.

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

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

Поясніть, чому затримка в сценарії B у 6 разів гірша, попри те, що навантаження зросло лише в 1,5 рази, використовуючи геометричну форму кривої черги. Потім запропонуйте: при якому рівні навантаження команда має додати потужність і чому саме цей поріг, а не чекати фактичного порушення SLO?

Розмір та тригер разом

Синтез

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

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

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

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

Додаткові нотатки

Додаткові нотатки

Цей урок з геометрії переосмислює головний урок Безстанове горизонтальне масштабування як кількісну геометрію.

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

Молодець.