Буферблоат — лаги быстрого интернета
Кто-то начинает скачивание, и видеозвонок рушится при достаточной скорости. Проблема не в скорости, а в очереди.
Что происходит
В каждом роутере и модеме есть буфер, где пакеты ждут при краткой загрузке линии. Небольшой буфер полезен, но многие домашние устройства имеют буферы в сотни раз больше необходимого.
Когда крупная передача заполняет канал и буфер, срочные маленькие пакеты звонка, игры и кликов ждут за мегабайтами данных. Задержка растёт с 20 до 300, 600 и иногда более 1000 мс. Это и есть буферблоат.
Характерные симптомы
Всё хорошо, пока не начнётся отправка фото, обновление игры или облачная копия; затем звонки прерываются, видео буферизуется, сайты и игры тормозят. Остановка передачи сразу всё исправляет.
Поскольку причина — собственный трафик, обычный тест без нагрузки может показывать идеальные скачивание, отдачу и пинг.
Как измерить
Измеряйте задержку при заполненном канале. Наш тест посылает запросы во время скачивания и отдачи, показывает задержку каждого этапа и оценку A–F. C или хуже означает проблемы приложений реального времени при нагрузке.
Решения по эффективности
Настоящее лечение — Smart Queue Management (SQM) в роутере. fq_codel и CAKE поддерживают короткие очереди. Найдите SQM, Smart Queue или QoS с этими алгоритмами и задайте ограничение чуть ниже измеренной скорости; переход с D на A обычен.
Если SQM нет, попробуйте встроенный anti-bufferbloat или игровой QoS, замените роутер на поддерживающий SQM (включая OpenWrt) либо переведите устройство провайдера в мост перед таким роутером.
Больше Мбит/с не лечит проблему: больший канал с теми же раздутыми буферами просто быстрее заполняется.