Jump to content
Калькуляторы

Вопрос по HTB Можно ли сделать ceil на burs байт как написано в man'е ?

Тема про HTB наверное уже изъезжена вдоль и поперёк, тем не менее:

 

В мане написано:

 

burst bytes

Amount of bytes that can be burst at ceil speed, in excess of the configured rate.

Should be at least as high as the highest burst of all children.

 

Почему-то именно так сделать не получается. Скорость ceil используется всегда, когда parent класс имеет свободную ёмкость.

 

Хотелось бы сделать так как написанов мане: на burst байт скорость такая-то (ceil), после исчерпания бурста и продолжания качать скорость должна быть rate. Если перестать качать, то бурст через какое-то время перезарядится.

 

пробую так:

 

tc qdisc add dev eth1 root handle 1 htb default 50

tc class add dev eth1 parent 1: classid 1:1 htb rate 20Mbit burst 100000000

...

tc class add dev eth1 parent 1:1 classid 1:10 htb rate 5Mbit burst 100000000

tc class add dev eth1 parent 1:10 classid 1:1001 htb rate 1Mbit ceil 2Mbit burst 20000000

...

 

Трафик, попадающий в 1:1001 в тесте всегда со скоростью 256 килобайт/сек (2 мегабита), хотя по ману 2 мегабита должно быть только на первых 20М (примерно) данных.

 

С cburst такой финт работает (примерно), но скорость долетает до скорости родителя (до 600 килобайт/сек = 5 мегабит в данном случае).

 

Если у кого-то есть раочие примеры, поделитесь, пожалуйста ?

Share this post


Link to post
Share on other sites

удалось решить?

тоже интересна такая фича.

Share this post


Link to post
Share on other sites

burst вообще трогать не надо, т.к. он автоматом рассчитывается. Надо фиксировать quantum на значении не меньшем MTU (т.е. указывать в параметрах классов quantum 1500).

Share this post


Link to post
Share on other sites
удалось решить?

тоже интересна такая фича.

Нет, не удалось.

 

burst вообще трогать не надо, т.к. он автоматом рассчитывается. Надо фиксировать quantum на значении не меньшем MTU (т.е. указывать в параметрах классов quantum 1500).

про бурст утверждение спорное :-). Автоматически он не всегда как мне надо расчитывается. Про квантум - в мане то же самое написано.

 

Видимо, HTB работает не так как в мане написано, исправить это нельзя или никто не знает как. Хотелось бы получить работу HTB как написано в стартовом посте: burst байт должны скачиваться с одной скоростью, дальше должно качаться с другой скоростью. Бурс постепенно перезаряжается если трафик не перегружает очередь. про перезарядку бурста даже где-тов доке написано было, на сайте HTB что ли ...

 

Share this post


Link to post
Share on other sites

Основными параметрами являются rate и ceil, где rate -- гарантированная полоса пропускания для данного класса обслуживания, ceil -- предельная скорость, которая может быть предоставлена данному классу, если полоса не используется другими классами. Если ceil не указан, то он считается равным rate, т.е. дополнительного заема полосы не происходит. Если надо сделать возможность заема неиспользуемой полосы, указываем ceil > rate. burst и cburst вычисляются исходя из значений rate и ceil, это размеры пачки байтов, которая будет посылаться каждый раз, когда шедулер обслуживает тот или иной класс. Размеры пачки влияют не на полосу пропускания, а только на пачечность трафика. Если зафиксировать quantum, все прекрасно работает со значениями по умолчанию. Что тут непонятного?

Edited by photon

Share this post


Link to post
Share on other sites

wtyd

 

как я вижу - у вас все работает именно так как написано. уберите описание ceil - и будет то что вы хотите. так как в вашем случае burst рассчитывается от ceil - свободной полосы родителя.

Edited by Nallien

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this