Покотиленко Костик 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
--
Sincerely,
Nicholas
--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]