В Птн, 01/02/2008 в 09:37 -0500, Nicholas пишет: > Покотиленко Костик wrote: > > Так сложнее получается. Чем мне не нравится править классы HTB, так это > > постоянным пересчётом a1=a11+a12+a13... Конечно, понятно, что это один > > раз надо сделать, но, > > каждая команда делает 256 правил автоматом (`seq 1 254` - для примера ) > > for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1: classid > 1:$i htb rate 64kbps ceil 128kbps burst 150k" >> tc.conf; done; > > > опять же, придётся забить кучу классов, большая > > часть из которых будет простаивать, а следовательно, придётся ещё думать > > как не используемую ширину канала одалживать > > это делает htb автоматом - вы можете указать каждому клиенту свою > минимальную и максимальную ширину, можно максимальную не указывать > (ceil) - htb разделит дополнительную скорость пропорционально. > Если суммарная выделенная клиентам ширина канала, наоборот, больше > реальной - htb тоже все пересчитает пропорционально (при нагрузке, а > пока клиентов мало всем даст столько сколько в правиле для клиента > прописанно). > > Вы можете делать "деревья" - root сделать 1:, первую ветвь 1:888 для > обычных поьзователей и вторую для анлимит 1:777 > > http://www.opennet.ru/docs/RUS/LARTC/x1075.html#THEQDISCFAMILYROOTSHANDLESSIBLINGSANDPARENTS > > > tc qdisc add dev eth0 root handle 1: htb default 1 > > tc class add dev eth0 parent 1: classid 1:9999 htb rate 2mbit burst 15k > > tc class add dev eth0 parent 1:9999 classid 1:888 htb rate 1mbit ceil > 1mbit burst 15k > tc class add dev eth0 parent 1:9999 classid 1:777 htb rate 1mbit ceil > 1mbit burst 15k > > > и определять общую скорость для всех пользователей группы + для каждого > пользователя в группе. > > tc class add dev eth0 parent 1:777 classid 1:71 htb rate 128kbit ceil > 256kbit burst 15k > ... > tc class add dev eth0 parent 1:777 classid 1:7254 htb rate 128kbit ceil > 256kbit burst 15k и т.д. > > в этом примере комада для создания правила будет тоже с семеркой перед > "номером хоста" (1-254) > for i in `seq 1 254`; do echo "tc class add dev eth0 parent 1:777 > classid 1:7$i htb rate 128kbps ceil 256kbps burst 150k" >> tc.conf; done; > > надо сказать что 4 правила для каждого из 255 ip для двух подситей > (4*255*2=2040) совсем не "грузят" htb. > > С уважением, Николай. > > PS > > rrd tool как раз и ведет статистику, а графики рисует по требованию. > Основная идея - снимать статистику удобнее именно tc (htb) - наименее > затратный и наиболее точный способ (так как это не "грузит" процессор вы > можете ее снимать как угодно часто). > > tc -s -d qdisc show dev eth0
Принцип ясен, спасибо за пример! -- Покотиленко Костик <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

