Linux TC, HTB: Существует ли определенное поведение, когда сумма предельных значений классов превышает общую скорость ячLinux

Ответить Пред. темаСлед. тема
Anonymous
 Linux TC, HTB: Существует ли определенное поведение, когда сумма предельных значений классов превышает общую скорость яч

Сообщение Anonymous »

Я пытаюсь формировать трафик с помощью HTB и во время тестов столкнулся с каким-то странным поведением. В моих тестах у меня есть один отправитель и два получателя, и моей первой целью было проверить, как распределение полосы пропускания ведет себя по умолчанию, а затем как оно ведет себя при формировании с помощью tc. Тестовый пример, в котором я столкнулся со странной частью, следующий: максимальная пропускная способность интерфейса отправителя составляет 1 Гбит/с, а скорость передачи данных на соединениях составляет 1 Гбит/с (приемник 1) и 700 Мбит/с (приемник 2). соответственно (Примечание: они намеренно превышают максимальное значение интерфейса). В целях тестирования я использовал 1 Мбит/с в качестве минимальной гарантированной скорости, поскольку не хотел слишком сильно изменять поведение по умолчанию. В тесте есть два сценария, и они отличаются только тем, кто первым начинает получать данные.
Первый сценарий: в течение 15 секунд отправитель постоянно передает какие-то данные получателю 2. После этого , отправитель начинает отправлять данные получателю 1. Это приводит к меньшей пропускной способности для получателя 1, чем когда он единственный, кто запрашивает данные (это, конечно, довольно очевидно), и, следовательно, к большему времени для доставки данных (точнее, 2 ГБ). ценность данных). Вполне ожидаемо.
Второй сценарий: я делаю то же самое, что и в первом сценарии, но на этот раз получатель 1 начинает принимать с самого начала (т.е. первые 15 секунд). , а получатель 2 присоединяется позже. Это привело к гораздо большему увеличению времени, необходимого для получения данных для получателя 2.
Чтобы дать больше контекста, для получателя 1 увеличение времени составило около 30%, а для получателя 2 увеличение времени составило почти 200%. Я, конечно, замерил время, необходимое для передачи данных при отсутствии помех от другого приемника, для обоих соединений, 1 Гбит/с и 700 Мбит/с.
Мой главный вопрос: почему это увеличение настолько асимметрично? Я ожидал, что помехи от другого соединения будут такими же или очень похожими, но получил резкое увеличение. Кажется, что предпочтение отдавалось более быстрому соединению, даже если я не говорил tc о его пользу. Это просто потому, что первое соединение более прочное, а затем, возможно, ему предпочтительнее TCP ниже? Мне было интересно, есть ли какое-то задокументированное поведение для этого случая, я немного поискал и, похоже, не нашел явного объяснения того, что происходит, когда HTB превышает лимит.
Для большего контекста, вот используемая конфигурация tc:

Код: Выделить всё

#!/bin/bash

INTERFACE="enp39s0"

sudo tc qdisc del dev $INTERFACE root 2>/dev/

sudo tc qdisc add dev $INTERFACE root handle 1: htb default 30

sudo tc class add dev $INTERFACE parent 1: classid 1:1 htb rate 1gbit ceil 1gbit
sudo tc class add dev $INTERFACE parent 1:1 classid 1:10 htb rate 1mbit ceil 1gbit
sudo tc class add dev $INTERFACE parent 1:1 classid 1:20 htb rate 1mbit ceil 700mbit

sudo tc filter add dev $INTERFACE protocol ip parent 1: prio 1 u32 match ip dst 172.31.3.53 flowid 1:10
sudo tc filter add dev $INTERFACE protocol ip parent 1: prio 1 u32 match ip dst 172.31.10.151 flowid 1:20

sudo tc -s qdisc show dev $INTERFACE
sudo tc -s class show dev $INTERFACE

echo "HTB configuration with capped bandwidth applied to $INTERFACE"
Большое спасибо за любую помощь, извините, если вопрос был длинным, я постарался дать максимально краткий контекст!

Подробнее здесь: https://stackoverflow.com/questions/792 ... tes-exceed
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»