Перегрузка возникает при недостаточном обслуживании нагрузки; bufferbloat выделяет избыточное ожидание из-за буферизации. Больший буфер не устраняет устойчивую перегрузку.
Bufferbloat
Определение
Bufferbloat (раздувание буфера) — избыточная задержка пакетов в очереди из-за слишком больших буферов сетевого устройства. Малое число потерь тут ничего не доказывает: пакеты просто долго ждут, а обратная связь контроля перегрузки запаздывает.
Также ищут: раздувание буфера · чрезмерная буферизация · задержка из-за буфера
Зачем это знать
Сравнивайте поведение очереди во время всплеска и устойчивой нагрузки. Мало потерь и высокая скорость длинного потока ещё не означают быструю услугу.
Карта понятия
Что подтверждено
Чрезмерная буферизация может давать неприемлемую задержку и мешать обратной связи контроля перегрузки, даже если потерь пакетов мало.
Граница применимости: Общие очереди узкого места под длительной нагрузкой.
Bufferbloat определяется временем удержания в очереди, поэтому его нельзя диагностировать только по скорости канала или средней загрузке.
Граница применимости: Задержка в очереди и счётчики ёмкости канала.
В закрытой модели перед пакетом находится 1 МБ данных, выход работает постоянно на 1 Гбит/с. Ожидание только этих данных равно 8 мс: 1 000 000 × 8 / 1 000 000 000 секунды. Больший буфер не повышает скорость выхода.
Граница применимости: Учебная очередь с обслуживанием по порядку поступления; десятичные МБ и Гбит, без новых поступлений, заголовков и времени самого пакета.
Буфер может принять краткий всплеск, а длительно заполненная очередь добавляет постоянное ожидание. Увеличение буфера не устраняет устойчивое превышение входной нагрузки над скоростью обслуживания.
Граница применимости: Редакторское различение краткого накопления и длительной перегрузки. Не задаётся универсальный размер очереди коммутатора.
Малое число потерь не доказывает малую задержку: пакеты могут долго ждать в очереди. При проверке под нагрузкой одновременно смотрят ожидание, потери и полезную скорость в одном интервале.
Граница применимости: Редакторская диагностика по задержке очереди и уровню измерения скорости; отсутствие измерения очереди не превращается в доказанный диагноз.
Не путать
Bufferbloat описывает избыточное ожидание из-за буферизации, микровсплеск — короткий профиль входа. Очередь после всплеска может опустеть без постоянного накопления.
Что проверить
- Выберите очередь и направление.
- Укажите скорость обслуживания.
- Измерьте ожидание под нагрузкой.
- Сопоставьте потери в том же интервале.
- Разделите краткий всплеск и постоянную очередь.
- Проверьте управление очередью.
- Не выводите малую задержку из малого числа потерь.
Первоисточники
- RFC 5136: Defining Network Capacity
Разделяет nominal link capacity, available capacity и измерение результата на выбранном protocol layer.