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 представляет собой площадь прямоугольника, который они образуют. Планирование мощности заключается именно в этом прямоугольнике.

Почему это важно: любые два из трех величин определяют третью. Измерив пропускную способность и задержку, вы узнаете занятость. Измерив занятость и пропускную способность, вы узнаете задержку. Закон устойчив: он применим к веб-запросам, столам в ресторане, очередям в супермаркете и конвейерам ЦП без каких-либо изменений.

Три конкретных примера:

- Веб-сервис обрабатывает 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, чтобы успевать за нагрузкой. Если их меньше, очередь будет расти.

Little's Law as area: λ on x, W on y, L = area

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

Почему задержка резко возрастает при загрузке выше 80%

Самая важная кривая в операционной деятельности

Постройте загрузку на оси X (от 0% до 100%) и среднее время ожидания на оси Y. Форма этой кривой является одной из самых значимых в планировании пропускной способности.

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

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

где ρ — это загрузка (от 0 до 1), а μ — интенсивность обслуживания.

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

- При ρ = 0.5 (50% загрузки) время ожидания мало (равно одному времени обслуживания).

- При ρ = 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, переосмысливает разделение на границе сети как двудольный граф с вершиной-разделителем, который устраняется этим разделением.

Отличная работа.