Megas Posted April 30, 2012 Posted April 30, 2012 Корневая дисциплина на htb, на класах sfq, интересует правильный расчет burst и какой бурст должен быть у родительского класса к примеру 100мб канал. Вижу по ответам на форуме что сейчас burst система может сама спокойно рассчитать и не будет проблем, но есть ли какой-то универсальный алгоритм, а то когда захожу на lartc там цифры получаются какие-то восьмизначные. Тарифы обычные, 5, 20, 80 Интересует чтобы у клиента все было ровненько и без всяких рывков и прочего. Дальше самый глупый вопрос: tokens: 1156 ctokens: 1156 или tokens: -272 ctokens: 1280 что говорит о лучшем канале у пользователя или как бы правильно выразиться. Вставить ник Quote
LDestroy Posted May 3, 2012 Posted May 3, 2012 burst, если не задан, система рассчитывает вот так: // compute minimal allowed burst from rate; mtu is added here to make // sute that buffer is larger than mtu and to have some safeguard space if (!buffer) buffer = opt.rate.rate / get_hz() + mtu; if (!cbuffer) cbuffer = opt.ceil.rate / get_hz() + mtu; get_hz() возвращает грубо говоря число прерываний таймера в секунду... если ядро скомпилено с CONFIG_HIGH_RES_TIMERS=y (и есть аппаратная поддержка), то ф-я возвращает 10^9, которое берет отсюда (4е число): /proc/net/psched проверить таймеры можно так: cat /proc/timer_list |grep resolution вообщем размер буфера вычисляется так, чтобы не было тормозов из-за того что система не успевает перекладывать пакеты :) в современных системах соотв. размер буфера обычно равен mtu + небольшая дельта... если что не так написал, поправьте :) Вставить ник Quote
photon Posted May 4, 2012 Posted May 4, 2012 (edited) Добавлю, что для нормального функционирования шейпера не нужно рассчитывать никакой burst. Достаточно присваивать параметру quantum значение кратное MTU. Edited May 4, 2012 by photon Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.