LINUX.ORG.RU
решено ФорумAdmin

Шейпер tc

 


0

1

День добрый.

Помогите, пожалуйста, разобраться с такой ситуацией (фантомный пример просто чтобы обрисовать ситуацию):

На интерфейс вешаю дисциплину htb, ограничиваю скорость 10 мегабитами, создаю класс (допустим для бухгалтерии) с пропускной способностью 1 Мбит и даю разогнаться (ceil) до 2Мбит если полоса свободна.

tc qisc add dev eth0 root handle 1: htb default 90
tc class add dev eth0 parent 1: classid 1:1 htb rate 10Mbit
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1000Kbit ceil 2000Kbit

Проблема возникает когда я делю этот бухгалтерский канал еще пополам (допустим для http и всего остального).

Если я напишу:

tc class add dev eth0 parent 1:10 classid 1:101 htb rate 500Kbit ceil 1000Kbit
tc class add dev eth0 parent 1:10 classid 1:102 htb rate 500Kbit ceil 1000Kbit

то от моих прошлых «ceil 2000Kbit» практически не будет толку, т.к. http траффик, например, все равно не разгонится выше 1000Kbit/s. А хотелось бы давать до 2000Kbit когда нет ничего остального.

А писать так:

tc class add dev eth0 parent 1:10 classid 1:101 htb rate 500Kbit ceil 2000Kbit
tc class add dev eth0 parent 1:10 classid 1:102 htb rate 500Kbit ceil 2000Kbit

я не знаю можно ли. Странная конструкция тогда получается, да и будет ли вообще адекватно он работать тогда?

Если кто хорошо шарит в tc или делал что-то аналогичное, подскажите, пожалуйста, как поступить в данной ситуёвине :)


Все уже, спасибо, проблему решил сам))

Если кому интересно решение, то правильный второй вариант, в котором я сомневался.

Проверял на такой тестовой конфигурации:

tc c a dev eth0 parent 1: classid 1:1 htb rate 15000Kbit

tc c a dev eth0 parent 1:1 classid 1:10 htb rate 5000Kbit ceil 10000Kbit
tc c a dev eth0 parent 1:10 classid 1:100 htb rate 2500Kbit ceil 10000Kbit
tc c a dev eth0 parent 1:10 classid 1:101 htb rate 1500Kbit ceil 5000Kbit

Причем параметр ceil выступает в качестве весов для каждого класса. Если я для обоих случаев (при рейтах 2.5Мбит и 1.5Мбит) напишу ceil 10000Kbit, то они максимум получат поровну по 5Mbit, а если ceil будет для первого 10Мбит а для второго 5Мбит, то в случае чистой полосы первый получит 7.5 Мбит а второй 2.5Мбит.

aksenk
() автор топика
Ответ на: комментарий от devl547

я обычно sfq на краевые классы цепляю

aksenk
() автор топика
Ответ на: комментарий от devl547

в centos 6 нет fq_codel :( сейчас попробовал

aksenk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.