Skip to main content

Почему очередь взрывается при загрузке 95%, а не 100%

В прошлой статье речь шла о том, что стопроцентная загрузка не-узкого участка бессмысленна и даже вредна. С очередями логика похожая, но у неё есть отдельная, не самая очевидная математическая причина: время ожидания растёт не линейно с ростом загрузки, а лавинообразно, и именно последние проценты загрузки — самые дорогие.

Откуда взялась эта математика: Эрланг и телефонная станция

Основы теории очередей заложил датский инженер Агнер Краруп Эрланг в 1909 году, рассчитывая, сколько телефонных линий нужно копенгагенской телефонной станции, чтобы абоненты не получали сигнал «занято» чаще определённого предела. Его формулы до сих пор используются при расчёте числа линий колл-центра, кассовых точек или серверных мощностей — задача не изменилась за сто с лишним лет, просто «линии» стали «операторами» или «процессорами».

Кривая загрузки: почему последние проценты дороже всего

В простейшей модели очереди среднее время ожидания растёт пропорционально выражению ρ/(1−ρ), где ρ — доля времени, когда система занята (загрузка). При загрузке 50% это выражение равно 1. При 80% — уже 4. При 95% — 19. При загрузке в 99% время ожидания в среднем в 99 раз длиннее, чем при 50%. Рост не линейный, а близкий к вертикальному по мере приближения к 100% — отсюда ощущение, что система «внезапно взрывается» при, казалось бы, небольшом росте загрузки с 90% до 95%.

Изменчивость важнее среднего

Есть второй фактор, который эту кривую только усугубляет: разброс во времени между заявками и во времени обслуживания каждой из них. Британский математик Джон Кингман в 1961 году вывел приближённую формулу, которая показывает: чем сильнее время обслуживания скачет от заявки к заявке (одни звонки на 30 секунд, другие на 20 минут), тем длиннее очередь при той же средней загрузке. Ровный, предсказуемый поток заявок и ровное время обслуживания держат очередь короткой даже при высокой загрузке; рваный поток и рваное обслуживание раздувают очередь даже при умеренной.

Практический вывод: держите буфер, а не 100% загрузку

Отсюда прямое следствие закона Литтла для планирования ресурсов: закладывать персонал или мощности на среднюю загрузку около 100% — это гарантированно длинная очередь в реальности, потому что реальный поток заявок никогда не бывает идеально равномерным. На практике я обычно рекомендую держать плановую загрузку в диапазоне 75-85% там, где важно предсказуемое время ожидания, и оставлять оставшуюся часть как буфер на естественные пики и разброс времени обслуживания — это не потери, а необходимая часть математики очереди.

Честное ограничение: если поток заявок исключительно ровный и предсказуемый (конвейер с фиксированным тактом, а не колл-центр), эффект слабее и можно планировать загрузку ближе к пределу.

Статья обновлена: декабрь 2022

Об авторе: Александр Бобков — бизнес-консультант и тренер по управленческим навыкам. Более 15 лет работает с руководителями среднего звена. Специализируется на системном взгляде на рабочие проблемы.

Раскрыть эту тему

Курс на практике проводит через весь путь от симптома до системного взгляда на проблему — включая причинно-следственные петли, узкие места и разложение проблемы методом drill down.

Пройти курс «Мастерская решения проблем» →

подпишитесь на рассылку