Формирование трафика Linux: скорость передачи данных никогда не достигалась
Мое приложение работает на порту 8080. У меня есть эта команда iptables:
iptables -A OUTPUT -t mangle -p tcp --sport 8080 -j MARK --set-mark 10
У меня также есть тезисы ТС по правилам:
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1:0 classid 1:10 htb rate 50kbps ceil 110kbps prio 0 mtu 1500
Полоса пропускания успешно ограничена 50 кбит / с для такого применения. Однако во всех моих тестах полоса пропускания никогда не достигает значения CEIL, и даже больше, остается только с указанной скоростью. Такое поведение не удобно, особенно когда ссылка свободна.
Какие причины могут привести к тому, что полоса никогда не пойдет вперед с такой скоростью?
1 ответ
Решение
Вы не определили размер пакета.
От man tc-htb:
разрыв байтов
Количество байтов, которое может быть взято с максимальной скоростью, сверх установленной скорости. Должен быть по крайней мере таким же высоким, как самый высокий всплеск среди всех детей.