Jump to content

Recommended Posts

Posted

Как расчитать максимальную скорость, которую можно установить в шейпере в зависимости от CONFIG_HZ? И что будет происходить, если задать скорость больше?

Posted (edited)

С HFSC разницы (за исключением точности квантования) быть не должно, поскольку HFSC использует сами временные интервалы для расчета пропускания. HTB/TBF сильно завязаны на таймеры (пополнение bucket'ов), и использует байтовые кванты, т.е. придется подбирать квант. С HTB в общем случае - квант*HZ - предел. Т.е. при кванте в 4000 байт и HZ=100 предел = 4000*100 = 400000 байт, или 3.2 Мбит. При HZ=1000 и кванте в 4000 - 32 Мбит, дальше надо повышать квант. Само собой, квант в HTB влияет на точность семплирования, скорости "ниже" кванта в пределах класса шейпировать HTB правильно не получится. Вообще для серверов, пропускающих трафик, чем выше HZ - тем лучше, ну и если есть возможность использовать tickless kernel - лучше используйте tickless, тогда таймеры будут динамическими.

Edited by Alex/AT
Posted
CONFIG_NO_HZ=y

# CONFIG_HZ_100 is not set

CONFIG_HZ_250=y

# CONFIG_HZ_300 is not set

# CONFIG_HZ_1000 is not set

CONFIG_HZ=250

CONFIG_MACHZ_WDT=m

 

Это tickless или 250? Если tickless, то можно любую скорость в htb задавать?

Posted (edited)

Это tickless.

В целом да - задавать можно любую, лишь бы у Вас для разных скоростей в пределах класса (включая субклассы) квант был одинаковый. Само собой, скорости семплируются только квантами, т.е. деление будет пропорционально кванту.

Не помню - использует HTB HZ где-то для внутренних целей, или нет. Лучше задайте 1000 для подстраховки. В случае tickless всё равно интервал таймера будет подбираться, исходя из текущей ситуации.

Edited by Alex/AT
Posted

Ясно, спасибо. Пересобрать ядро в силу ряда обстотельств нет возможности. Покопаю исходники htb, не подскажите как обычно добывается значение hz(название функции) ?

Posted (edited)

Собственно на значение CONFIG_HZ HTB не завязан, но обработка в HTB впрямую завязана на jiffies (счетчик от таймера с частотой CONFIG_HZ). См. htb_dequeue и htb_do_events.

Edited by Alex/AT
Posted (edited)

Вообще говоря, самым правильным советом Вам будет перейти на HFSC. HTB не очень хорошо работает в tickless-условиях, даже при том, что packet scheduler в современных ядрах переведен на интервальные таймеры.

Всё равно HTB оперирует именно дискретными тиками, а не конкретными интервалами времени, т.е. реальные показатели процессинга будут варьироваться в зависимости от трафика / нагруженности системы.

Edited by Alex/AT
Posted

А зачем вообще эти несчастные таймеры трогать? Увеличивайте квант, благо даже максимальное значение 65000 отлично работает для скоростей от 1м до 100м..

Posted

С HFSC разницы (за исключением точности квантования) быть не должно, поскольку HFSC использует сами временные интервалы для расчета пропускания. HTB/TBF сильно завязаны на таймеры (пополнение bucket'ов), и использует байтовые кванты, т.е. придется подбирать квант. С HTB в общем случае - квант*HZ - предел. Т.е. при кванте в 4000 байт и HZ=100 предел = 4000*100 = 400000 байт, или 3.2 Мбит. При HZ=1000 и кванте в 4000 - 32 Мбит, дальше надо повышать квант. Само собой, квант в HTB влияет на точность семплирования, скорости "ниже" кванта в пределах класса шейпировать HTB правильно не получится. Вообще для серверов, пропускающих трафик, чем выше HZ - тем лучше, ну и если есть возможность использовать tickless kernel - лучше используйте tickless, тогда таймеры будут динамическими.

а не поделитесь примером HFSC? рабочим...

Спасибо.

Posted (edited)

У меня скрипты для классов и HFSC строятся модулем SSG на BRAS, если будет время - вытащу дебаг для одного из абонентов, покажу.

 

Общее описание тут: http://linux-ip.net/articles/hfsc.en/

 

Если прочитать и понять, как оно работает - перейти с HTB на HFSC проблем не будет.

Классовая иерархия всё та же самая, отличие только в названии шейпера и способе задания параметров.

Edited by Alex/AT

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.