Если насыщение полосы пропускания вашей восходящей или нисходящей сети вызывает скачки задержки, это означает, что у некоторого блока в вашем сетевом пути (вероятно, у вашего широкополосного модема или CMTS или DSLAM вашего провайдера) есть хорошо известная ошибка, называемая bufferbloat, где чрезмерная буферизация на блоке увеличивает задержку без пользы.
Исправление для bufferbloat заключается в обновлении алгоритма организации очереди (так называемая дисциплина очереди, сетевой планировщик) устройства с ошибками до интеллектуального алгоритма организации очереди с учетом задержки, такого как FQ-CoDel.
Если вы не можете исправить фактическую коробку с проблемой, вы можете обойти ее, установив коробку с FQ-CoDel в начале вашей сети и настроив формирование трафика, чтобы сделать его небольшим узким местом как в восходящем, так и в нисходящем направлении. направления. Таким образом, FQ-CoDel начинает работать и позволяет управлению перегрузкой TCP работать до того, как очереди с раздутыми буферами могут нарастить на багги.
Вы можете сделать это самостоятельно с помощью дистрибутивов прошивки маршрутизатора с открытым исходным кодом, таких как LEDE (ранее OpenWrt), но если вы хотите получить решение «под ключ», посмотрите IQrouter с сайта evenroute.com. По-видимому, он автоматически настраивает пропускную способность в течение дня, максимизируя пропускную способность и минимизируя задержки.
Многие люди, которые не узнали о буферной загрузке, ошибочно полагают, что пики задержки являются естественным результатом насыщенных сетевых соединений. Многие люди также предпринимают проблемные попытки обойти буферное пространство, настраивая QoS, пытаясь расставить приоритеты для некоторых потоков над большими потоками, вызывающими раздувание. Но решение буфера обмена напрямую намного лучше, потому что оно улучшает все потоки, даже большие, которые вызывали раздувание.