acutus Posted October 1, 2014 (edited) · Report post есть нат сервер, решил поднять на нем же шейпер. собственно вот правила шейпера: tc qdisc del dev bond0.8 root tc qdisc add dev bond0.8 root handle 1: htb default 900 tc class add dev bond0.8 parent 1: classid 1:1 htb rate 4000Mbit burst 150k tc class add dev bond0.8 parent 1:1 classid 1:100 htb rate 3800Mbit burst 150k tc class add dev bond0.8 parent 1: classid 1:900 htb rate 3800Mbit burst 150k tc qdisc add dev bond0.8 parent 1:900 handle 900 pfifo limit 50000 tc filter add dev bond0.8 parent 1:0 protocol ip u32 tc filter add dev bond0.8 parent 1:0 handle 12: protocol ip u32 divisor 8 tc filter add dev bond0.8 parent 1:0 handle 13: protocol ip u32 divisor 256 tc filter add dev bond0.8 parent 1:0 handle 14: protocol ip u32 divisor 256 tc filter add dev bond0.8 parent 1:0 handle 15: protocol ip u32 divisor 256 tc filter add dev bond0.8 parent 1:0 handle 16: protocol ip u32 divisor 256 tc filter add dev bond0.8 parent 1:0 handle 17: protocol ip u32 divisor 256 tc filter add dev bond0.8 parent 1:0 protocol ip u32 ht 800:: match ip dst 172.24.128.0/17 hashkey mask 0x0000ff00 at 16 link 12: tc filter add dev bond0.8 parent 1:0 protocol ip u32 ht 12:0: match ip dst 172.24.128.0/24 hashkey mask 0x000000ff at 16 link 13: tc filter add dev bond0.8 parent 1:0 protocol ip u32 ht 12:1: match ip dst 172.24.129.0/24 hashkey mask 0x000000ff at 16 link 14: tc filter add dev bond0.8 parent 1:0 protocol ip u32 ht 12:2: match ip dst 172.24.130.0/24 hashkey mask 0x000000ff at 16 link 15: tc filter add dev bond0.8 parent 1:0 protocol ip u32 ht 12:3: match ip dst 172.24.131.0/24 hashkey mask 0x000000ff at 16 link 16: tc filter add dev bond0.8 parent 1:0 protocol ip u32 ht 12:4: match ip dst 172.24.132.0/24 hashkey mask 0x000000ff at 16 link 17: tc class add dev bond0.8 parent 1:100 classid 1:1001 htb rate 20Mbit ceil 20Mbit tc qdisc add dev bond0.8 parent 1:1001 handle 1001 sfq perturb 10 tc filter add dev bond0.8 protocol ip parent 1:0 u32 ht 13:1: match ip dst 172.24.128.1 flowid 1:1001 tc class add dev bond0.8 parent 1:100 classid 1:1002 htb rate 20Mbit ceil 20Mbit tc qdisc add dev bond0.8 parent 1:1002 handle 1002 sfq perturb 10 tc filter add dev bond0.8 protocol ip parent 1:0 u32 ht 13:2: match ip dst 172.24.128.2 flowid 1:1002 tc class add dev bond0.8 parent 1:100 classid 1:1003 htb rate 20Mbit ceil 20Mbit tc qdisc add dev bond0.8 parent 1:1003 handle 1003 sfq perturb 10 tc filter add dev bond0.8 protocol ip parent 1:0 u32 ht 13:3: match ip dst 172.24.128.3 flowid 1:1003 tc class add dev bond0.8 parent 1:100 classid 1:1004 htb rate 20Mbit ceil 20Mbit tc qdisc add dev bond0.8 parent 1:1004 handle 1004 sfq perturb 10 tc filter add dev bond0.8 protocol ip parent 1:0 u32 ht 13:4: match ip dst 172.24.128.4 flowid 1:1004 tc class add dev bond0.8 parent 1:100 classid 1:1005 htb rate 20Mbit ceil 20Mbit tc qdisc add dev bond0.8 parent 1:1005 handle 1005 sfq perturb 10 tc filter add dev bond0.8 protocol ip parent 1:0 u32 ht 13:5: match ip dst 172.24.128.5 flowid 1:1005 tc class add dev bond0.8 parent 1:100 classid 1:1006 htb rate 20Mbit ceil 20Mbit тут дальше куча идентичных классов, фильтров и очередей Проблема выражается таким образом: При увеличении общего трафика через сервер у юзеров, попадающих в классы 1:1001-1:1275, все нормально со скоростью (наблюдается просадка не более 5%, но это из-за загруженности сервера) А у пользователей, попадающих в дефолтный класс, серьезные проблемы со скоростью. Из 100 мбит не более 3-х, задержки при открытии страниц и прочие прелести. Загрузка CPU 50-60% по каждому из 8 ядер. Что я сделал неправильно? Или оно просто не должно работать при таком количестве правил и трафике через сервер ~1Gbit/sec ? Edited October 1, 2014 by acutus Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
s.lobanov Posted October 1, 2014 · Report post покажите статистику по дефолтному классу и дисциплине tc -s qdisc .... tc -s class show ... какая версия ядра? Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SABRE Posted October 2, 2014 (edited) · Report post Попробуйте вместо tc class add dev bond0.8 parent 1: classid 1:900 htb rate 3800Mbit burst 150k поставить tc class add dev bond0.8 parent 1:1 classid 1:900 htb rate 200Mbit ceil 3800Mbit burst 150k Ну или изменить дефолтный класс tc qdisc add dev bond0.8 root handle 1: htb default 1 Попробуйте оба варианта. А вообще, откуда такие скорости (4000,3800) если Из 100 мбит Да, и хотя это источником проблем не является, но хеши работать не будут. Хеширование идет по всему 3-му октету (ff), а хеши второго порядка указаны от 128. Хеши не работают. Либо в первом фильтре делайте hashkey 0x00007f00, либо в дочерних хешах указывайте ht 12:128 (вместо 12:0), 12:129(виесто 12:1) и т.д. Edited October 2, 2014 by SABRE Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
BETEPAH Posted October 3, 2014 · Report post изучать до просветления: http://www.opennet.ru/docs/RUS/LARTC/x1661.html Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...
SABRE Posted October 3, 2014 · Report post изучать до просветления: http://www.opennet.ru/docs/RUS/LARTC/x1661.html там не в том проблема. Вставить ник Quote Ответить с цитированием Share this post Link to post Share on other sites More sharing options...