Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
witam forumowiczow.
do tej pory do ciecia lacza wystarczaly mi troche przerobione skrypty baroo z inet.one.pl, ale ostatnio zauwazylem, iz przez nie obciazenie mojego kernela siega zenitu, mam tyle przerywac ze w szczycie load mam ok 3. jak zastopuje hfsc obciazenie wraca do normalnosci.
wobec czego zmuszony jestem zrobic hfsc z filtrami mieszajacymi a i przydalo by sie tez zrobic qosa dla kazdego usera z osobna.
jesli chodzi o zrobienie hfsc na filtrach bez qos na kazdego usera to sklecilem cos takiego:
#!/bin/bash # tmplik="qos_tmp" #tymczasowy plik do wykonania polecec DOWN="55296" #max download lacza UPL="55296" #max upload lacza # podnosze interfejsy echo "ip link set imq0 up" >> $tmplik echo "ip link set imq1 up" >> $tmplik # kasuje klasy a zarazem i filty echo 'tc qdisc del root dev imq0 2> /dev/null' >> $tmplik echo 'tc qdisc del root dev imq1 2> /dev/null' >> $tmplik #------------ Tworzenie kolejek odbieranie --------------- # tworzenie korzenia kolejek echo "tc qdisc add dev imq0 root handle 1:0 hfsc default 99 " >> $tmplik # tworzenie glownej klasy echo "tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls m2 ${DOWN}kbit ul m2 ${DOWN}kbit" >> $tmplik #tworze defaultowa klase echo "tc class add dev imq0 parent 1:1 classid 1:99 hfsc ls m2 128kbit ul m2 256kbit" >> $tmplik # tworze klase dla ruchu normalnego, ruchu dla uzytkownikow echo "tc class add dev imq0 parent 1:1 classid 1:5 hfsc ls m2 48000kbit ul m2 ${DOWN}kbit" >> $tmplik # zakladam root filter echo "tc filter add dev imq0 parent 1:0 protocol ip u32" >> $tmplik # zakladam tabele na rootfiltrze # dla kazdej sieci po jednej tabeli echo "tc filter add dev imq0 parent 1:0 prio 5 handle 2: protocol ip u32 divisor 256" >> $tmplik echo "tc filter add dev imq0 parent 1:0 prio 5 handle 3: protocol ip u32 divisor 256" >> $tmplik echo "tc filter add dev imq0 parent 1:0 prio 5 handle 4: protocol ip u32 divisor 256" >> $tmplik echo "tc filter add dev imq0 parent 1:0 prio 5 handle 5: protocol ip u32 divisor 256" >> $tmplik # do kazdej z tych tabel wrzucam jedna siec echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \ match ip dst 192.168.0.0/24 \ hashkey mask 0x000000ff at 16 \ link 2:" >> $tmplik echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \ match ip dst 192.168.1.0/24 \ hashkey mask 0x000000ff at 16 \ link 3:" >> $tmplik echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \ match ip dst 192.168.2.0/24 \ hashkey mask 0x000000ff at 16 \ link 4:" >> $tmplik echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: \ match ip dst 192.168.3.0/24 \ hashkey mask 0x000000ff at 16 \ link 5:" >> $tmplik # ruch dla userow MARK=100 # userow jak i ich predkosci trzymam w pliku podzial_qos # w formacie adres_ip:min_download:max_download:min_upload:max_upload MAX_DOWN=`echo $i|cut -d':' -f3` LIP=`echo $ADDRESS|cut -d'.' -f4` LINK=`echo $ADDRESS |cut -d'.' -f3` PHEX=`echo "obase=16;$LIP"|bc -q` # tworze klase dla usera echo "tc class add dev imq0 parent 1:5 classid 1:$MARK hfsc ls m2 ${MIN_DOWN}kbit ul m2 ${MAX_DOWN}kbit" >> $tmplik # dla sprawiedliwosci na clase zaloze sfq echo "tc qdisc add dev imq0 parent 1:$MARK sfq perturb 10" >> $tmplik echo "tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht ${LINK}:0x${PHEX} \ match ip dst $ADDRESS flowid 1:$MARK" >> $tmplik echo "" >> $tmplik echo "" >> $tmplik MARK=$((MARK+1)) done
co testowo daje mi taki wynik:
ip link set imq0 up ip link set imq1 up tc qdisc del root dev imq0 2> /dev/null tc qdisc del root dev imq1 2> /dev/null tc qdisc add dev imq0 root handle 1:0 hfsc default 99 tc class add dev imq0 parent 1:0 classid 1:1 hfsc ls m2 55296kbit ul m2 55296kbit tc class add dev imq0 parent 1:1 classid 1:99 hfsc ls m2 128kbit ul m2 256kbit tc class add dev imq0 parent 1:1 classid 1:5 hfsc ls m2 48000kbit ul m2 55296kbit tc filter add dev imq0 parent 1:0 protocol ip u32 tc filter add dev imq0 parent 1:0 prio 5 handle 2: protocol ip u32 divisor 256 tc filter add dev imq0 parent 1:0 prio 5 handle 3: protocol ip u32 divisor 256 tc filter add dev imq0 parent 1:0 prio 5 handle 4: protocol ip u32 divisor 256 tc filter add dev imq0 parent 1:0 prio 5 handle 5: protocol ip u32 divisor 256 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.0.0/24 hashkey mask 0x000000ff at 16 link 2: tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.1.0/24 hashkey mask 0x000000ff at 16 link 3: tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.2.0/24 hashkey mask 0x000000ff at 16 link 4: tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip dst 192.168.3.0/24 hashkey mask 0x000000ff at 16 link 5: tc class add dev imq0 parent 1:5 classid 1:100 hfsc ls m2 512kbit ul m2 640kbit tc qdisc add dev imq0 parent 1:100 sfq perturb 10 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x14 match ip dst 192.168.0.20 flowid 1:100 tc class add dev imq0 parent 1:5 classid 1:101 hfsc ls m2 512kbit ul m2 640kbit tc qdisc add dev imq0 parent 1:101 sfq perturb 10 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x15 match ip dst 192.168.0.21 flowid 1:101 tc class add dev imq0 parent 1:5 classid 1:102 hfsc ls m2 512kbit ul m2 640kbit tc qdisc add dev imq0 parent 1:102 sfq perturb 10 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x16 match ip dst 192.168.0.22 flowid 1:102 tc class add dev imq0 parent 1:5 classid 1:103 hfsc ls m2 512kbit ul m2 640kbit tc qdisc add dev imq0 parent 1:103 sfq perturb 10 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 0:0x17 match ip dst 192.168.0.23 flowid 1:103
problem zaczal sie jak chcialem dodac podklasy do klas usera.
np user ma klase 1:100 to tworzac nowa klase
... parent 1:100 classid 1:1100 ... classid 1:2100 ...
ale jesli bedzie tysieczny wpis to ten klient jako swoja glowna klase otrzyma 1:1100 a takowa by istniala. niestety moge uzyc do oznaczania tylko 4 cyfr. w sumie mozna by oznaczyc na poczatku 9,8,7 ale ogolnie to nie rozwiazuje problemu, bo jak czysto teoretycznie bedzie 7000 wpisow to sytuacja sie powtorzy.
chcialbym osiagnac cos takiego jak na rysunku
[url=http://www.postimage.org/][img]http://www.postimage.org/Pq1m15vS.png[/img][/url]
moglby mi ktos podpowiedziec jak to osiagnac?
tc qdisc add dev eth0 root handle 1: hfsc tc class add dev eth0 parent 1: handle 1:2 hfsc ls m2 128kbit ul m2 512kbit tc class add dev eth0 parent 1: classid 1:2 hfsc ls m2 128kbit ul m2 512kbit tc class add dev eth0 parent 1: classid 1:5 hfsc ls m2 51200kbit ul m2 51200kbit tc qdisc add dev eth0 parent 1:5 handle 5: hfsc tc class add dev eth0 parent 5: classid 5:100 hfsc ls m2 512kbit ul m2 512kbit tc class add dev eth0 parent 5: classid 5:101 hfsc ls m2 128kbit ul m2 512kbit
powyzszy kod daje mi:
qdisc hfsc 1: root qdisc hfsc 5: parent 1:5 class hfsc 1: root class hfsc 1:2 parent 1: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit class hfsc 1:5 parent 1: leaf 5: ls m1 0bit d 0us m2 51200Kbit ul m1 0bit d 0us m2 51200Kbit class hfsc 5: root class hfsc 5:101 parent 5: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit class hfsc 5:100 parent 5: ls m1 0bit d 0us m2 512000bit ul m1 0bit d 0us m2 512000bit
1. czy to jest mniejwiecej to co chce osiagnac? chodzi mi o to drzewko.
2. i jak zastosowac filtry hashujace?
z gory wielkie dzieki za pomoc
{edited}
na podstawie sryptu zlyzwierz zrobilem cos takiego:
qdisc del root dev eth0 qdisc add dev eth0 root handle 1:0 hfsc default 99 class add dev eth0 parent 1:0 classid 1:1 hfsc ls m2 1500kbit ul m2 1500kbit class add dev eth0 parent 1:1 classid 1:99 hfsc ls m2 128kbit ul m2 256kbit class add dev eth0 parent 1:1 classid 1:5 hfsc ls m2 1500kbit ul m2 1500kbit filter add dev eth0 parent 1:0 protocol ip u32 filter add dev eth0 parent 1:0 prio 5 handle 1: protocol ip u32 divisor 256 filter add dev eth0 parent 1:0 prio 5 handle 2: protocol ip u32 divisor 256 filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip src 192.168.1.0/24 hashkey mask 0x000000ff at 12 link 1: filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip src 192.168.2.0/24 hashkey mask 0x000000ff at 12 link 2: qdisc add dev eth0 parent 1:5 handle 5: hfsc class add dev eth0 parent 5: classid 5:100 hfsc ls m2 128kbit ul m2 256kbit qdisc add dev eth0 parent 5:100 handle 100: hfsc class add dev eth0 parent 100: classid 100:11 hfsc sc d 30ms m2 15kbit ul m2 25kbit filter add dev eth0 protocol ip prio 1 parent 1:0 u32 ht 1:0x67 match ip protocol 1 0xff flowid 100:11 class add dev eth0 parent 100: classid 100:13 hfsc sc d 20ms m2 15kbit ul m2 100kbit filter add dev eth0 protocol ip prio 2 parent 1:0 u32 ht 1:67 match ip protocol 6 0xff match u8 0x05 0x0f at 0 match u16 0x0000 0xffc0 at 2 match u8 0x10 0xff at 33 flowid 100:13 class add dev eth0 parent 100: classid 100:14 hfsc ls m2 10kbit ul m1 1500kbit d 3000ms m2 500kbit filter add dev eth0 protocol ip prio 3 parent 1: u32 ht 1:0x67 match ip sport 80 0xffff flowid 100:14 class add dev eth0 parent 100: classid 100:15 hfsc ls m2 10kbit ul m2 400kbit filter add dev eth0 protocol ip prio 4 parent 1: u32 ht 1:0x67 match ip dst 0.0.0.0/0 flowid 100:15
ale niestety caly ruch wpada mi do defaultowej klasy :(
pią maj 8 14:05:15 2009 Mode: HFSC ^C to QUIT 1:1 - 61.2 kbit/s ( 4pps) 1:5 - 0.0 kbit/s ( 0pps) 1:99 - 61.2 kbit/s ( 4pps) 5:100 - 0.0 kbit/s ( 0pps) 100:11 - 0.0 kbit/s ( 0pps) 100:13 - 0.0 kbit/s ( 0pps) 100:14 - 0.0 kbit/s ( 0pps) 100:15 - 0.0 kbit/s ( 0pps)^C
# tc -s qdisc show dev eth0 qdisc hfsc 1: root default 99 Sent 1101860 bytes 6064 pkt (dropped 0, overlimits 1036 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 qdisc hfsc 5: parent 1:5 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 qdisc hfsc 100: parent 5:100 Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 # tc -s class show dev eth0 class hfsc 1: root Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 period 0 level 2 class hfsc 1:99 parent 1:1 ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 256000bit Sent 1105952 bytes 6108 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 period 5658 work 1105952 bytes level 0 class hfsc 1:1 parent 1: ls m1 0bit d 0us m2 1500Kbit ul m1 0bit d 0us m2 1500Kbit Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 period 5658 work 1105952 bytes level 1 class hfsc 1:5 parent 1:1 leaf 5: ls m1 0bit d 0us m2 1500Kbit ul m1 0bit d 0us m2 1500Kbit Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 period 0 level 0 class hfsc 5: root Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 period 0 level 1 class hfsc 5:100 parent 5: leaf 100: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 256000bit Sent 0 bytes 0 pkt (dropped 0, overlimits 0 requeues 0) rate 0bit 0pps backlog 0b 0p requeues 0 period 0 level 0 # tc -s filter show dev eth0 filter parent 1: protocol ip pref 1 u32 filter parent 1: protocol ip pref 1 u32 fh 802: ht divisor 1 filter parent 1: protocol ip pref 2 u32 filter parent 1: protocol ip pref 2 u32 fh 803: ht divisor 1 filter parent 1: protocol ip pref 3 u32 filter parent 1: protocol ip pref 3 u32 fh 804: ht divisor 1 filter parent 1: protocol ip pref 4 u32 filter parent 1: protocol ip pref 4 u32 fh 805: ht divisor 1 filter parent 1: protocol ip pref 5 u32 filter parent 1: protocol ip pref 5 u32 fh 2: ht divisor 256 filter parent 1: protocol ip pref 5 u32 fh 1: ht divisor 256 filter parent 1: protocol ip pref 5 u32 fh 1:67:800 order 2048 key ht 1 bkt 67 flowid 100:11 (rule hit 6171 success 225) match 00010000/00ff0000 at 8 (success 225 ) filter parent 1: protocol ip pref 5 u32 fh 1:67:801 order 2049 key ht 1 bkt 67 flowid 100:13 (rule hit 5946 success 4095) match 00060000/00ff0000 at 8 (success 5715 ) match 05000000/0f00ffc0 at 0 (success 4177 ) match 00100000/00ff0000 at 32 (success 4095 ) filter parent 1: protocol ip pref 5 u32 fh 1:67:802 order 2050 key ht 1 bkt 67 flowid 100:14 (rule hit 1851 success 0) match 00500000/ffff0000 at 20 (success 0 ) filter parent 1: protocol ip pref 5 u32 fh 1:67:803 order 2051 key ht 1 bkt 67 flowid 100:15 (rule hit 1851 success 1851) match 00000000/00000000 at 16 (success 1851 ) filter parent 1: protocol ip pref 5 u32 fh 801: ht divisor 1 filter parent 1: protocol ip pref 49152 u32 filter parent 1: protocol ip pref 49152 u32 fh 800: ht divisor 1 filter parent 1: protocol ip pref 49152 u32 fh 800::800 order 2048 key ht 800 bkt 0 link 1: (rule hit 6171 success 0) match c0a80100/ffffff00 at 12 (success 6171 ) hash mask 000000ff at 12 filter parent 1: protocol ip pref 49152 u32 fh 800::801 order 2049 key ht 800 bkt 0 link 2: (rule hit 0 success 0) match c0a80200/ffffff00 at 12 (success 0 ) hash mask 000000ff at 12
cos chyba pogibane jest z filtrami. podpowiedzcie w ktorym miejscu?
Ostatnio edytowany przez Nicram (2009-05-08 14:17:00)
Offline
Pozwolę sobie odkopać suchara, ale znalazłem zajebiaszczy programik do generowania filtrów mieszających, co ważne - umie też wielopoziomowe haszowanie.
http://vcalinus.gemenii.ro/?p=9&cpage=1
Offline
[quote=zlyZwierz]Pozwolę sobie odkopać suchara, ale znalazłem zajebiaszczy programik do generowania filtrów mieszających, co ważne - umie też wielopoziomowe haszowanie.
http://vcalinus.gemenii.ro/?p=9&cpage=1[/quote]
dzieki. programik fajny. tyko jeszcze musze go rozgryzc, jak mu podac dane zby zrobil to co ja chce :)
{edited}
moglbys mi powiedziec, co on dokladnie za filtry tworzy?
dla testu w pliku in umiescilem wpis
10.11.0.11/32 1:102
a on mi rowniez zrobil dla 10/8
./program test u32.tc imq0 src lines parsed: 1 total hashtables: 3 $ cat u32.tc ##### Generated with prefixtree v1.0 ##### tc filter add dev imq0 parent 1:0 prio 5 protocol ip u32 tc filter add dev imq0 parent 1:0 prio 5 handle 10: protocol ip u32 divisor 256 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 800:: match ip src 0.0.0.0/0 hashkey mask 0xff000000 at 12 link 10: ## entries for 10.0.0.0/8 tc filter add dev imq0 parent 1:0 prio 5 handle 11: protocol ip u32 divisor 256 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 10:a: match ip src 0.0.0.0/0 hashkey mask 0xff0000 at 12 link 11: ## entries for 10.11.0.0/16 tc filter add dev imq0 parent 1:0 prio 5 handle 12: protocol ip u32 divisor 256 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 11:b: match ip src 0.0.0.0/0 hashkey mask 0xff00 at 12 link 12: ## entries for 10.11.0.0/24 tc filter add dev imq0 parent 1:0 prio 5 handle 13: protocol ip u32 divisor 256 tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 12:0: match ip src 0.0.0.0/0 hashkey mask 0xff at 12 link 13: tc filter add dev imq0 protocol ip parent 1:0 prio 5 u32 ht 13:b: match ip src 0.0.0.0/0 flowid 1:102
Ostatnio edytowany przez Nicram (2009-09-05 10:05:23)
Offline
Może się teraz wygłupię - ale tyle co przeczytałem co to są to filtry - to jeśli chodzi o dynamiczny przydział transferu - to u nas używa się tego:
http://niceshaper.jedwabny.net/
Jeśli to zupełnie nie o to chodzi to sorry :P
Offline
No u mnie jest tylko 20 userów :)
Offline
Gdyby ktoś chciał to sklikałem toto w perlu:
http://wklej.org/hash/876411a8a7/?zawin=0
Na razie brudnopis, ale działający:) - wystarczy wywalić printy i jest jak nowe.
Funkcja zwraca uchwyt tablicy i numer wiadra dla podawanego adresu IP (w postaci integer), więc ostatni filter trzeba kliknąć samemu w oparciu o te zwracane wartości (coś a'la filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 18:5: match ip src 0.0.0.0/0 flowid 1:1af).
Offline
[quote=zlyZwierz]Gdyby ktoś chciał to sklikałem toto w perlu:
http://wklej.org/hash/876411a8a7/?zawin=0
Na razie brudnopis, ale działający:) - wystarczy wywalić printy i jest jak nowe.
Funkcja zwraca uchwyt tablicy i numer wiadra dla podawanego adresu IP (w postaci integer), więc ostatni filter trzeba kliknąć samemu w oparciu o te zwracane wartości (coś a'la filter add dev eth0 protocol ip parent 1:0 prio 5 u32 ht 18:5: match ip src 0.0.0.0/0 flowid 1:1af).[/quote]
troche sie napracowales.
kombinowales moze z tym "drzewkiem" co jest wyzej? znaczy sie podklasy kazdemu userowi.
Offline
[quote=zlyZwierz]Jest na liście TODO. U siebie mam płaskie kolejki - bez wyszczególniania rodzaju ruchu.[/quote]
mam tak samo
Offline
Może prowrócimy do problemu??
Offline
Witam Ponownie.
@zlyZwierz, wykombinowałeś coś w sprawie podklas dla userów? muszę wrócić do tematu.
Offline
Nicram - dlaczego tak bardzo chesz robic podklasy dla user'a, generalnie wedlug mnie nie ma to specjalnie sensu.... (Nie widze specjalnie kategorii po jakich niby miał byc sens)
Przy wiekszej ilosci userow wystarcy zrobic filtry mieszajace po ost oktecie i dziala to wydajnie
Offline
[quote=BiExi]Nicram - dlaczego tak bardzo chesz robic podklasy dla user'a, generalnie wedlug mnie nie ma to specjalnie sensu.... (Nie widze specjalnie kategorii po jakich niby miał byc sens)
Przy wiekszej ilosci userow wystarcy zrobic filtry mieszajace po ost oktecie i dziala to wydajnie[/quote]
Tak, działa to wydajnie, nie zaprzeczam. ale mam dość tłumaczenia, że komputer "syna" ma włączone jakieś torrenty i dlatego klient nie może porozmawiać przez skype czy voip. to jest głównym powodem.
Offline
A nie prościej to puścić przez htb, i ustalić priorytety dla poszczególnych komputerów?
Komputer ze Skype/voip prio 1 komp "syna" prio 2, i gotowe.
Tu masz [url=http://pl.wikibooks.org/wiki/Sieci_w_Linuksie/iproute2/tc/qdisc]przykład[/url].
Prosciej się chyba nie da, a rezultat zazwyczaj jest niezły.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2012-02-18 00:02:44)
Offline
[quote=Jacekalex]A nie prościej to puścić przez htb, i ustalić priorytety dla poszczególnych komputerów?
Komputer ze Skype/voip prio 1 komp "syna" prio 2, i gotowe.[/quote]
Pod warunkiem, że widzę oba komputery z różnymi adresami. W moim przypadku widzę jeden, gdyż są za routerem klienta.
Na "drzewku" powyżej widać to co chcę osiągnąć
--edited--
Zastanawiam się nad tym fragmentem
qdisc hfsc 1: root qdisc hfsc 5: parent 1:5 class hfsc 1: root class hfsc 1:2 parent 1: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit class hfsc 1:5 parent 1: leaf 5: ls m1 0bit d 0us m2 51200Kbit ul m1 0bit d 0us m2 51200Kbit class hfsc 5: root class hfsc 5:101 parent 5: ls m1 0bit d 0us m2 128000bit ul m1 0bit d 0us m2 512000bit class hfsc 5:100 parent 5: ls m1 0bit d 0us m2 512000bit ul m1 0bit d 0us m2 512000bit
jeśli chodzi o qdisc to jwst ok, mam główne 1: oraz 5:, która jest "pod klasą" dla klasy 1:5
ale już w klasach ma 2 clasy root.
powiedzcie mi, jak przebiega pakiet? jaka jest różnica między qdisc a class?
Ostatnio edytowany przez Nicram (2012-02-22 21:49:06)
Offline
Chciałbym odświeżyć temat.
nadal utykam w tym samym momencie :(
pomożecie?
Ostatnio edytowany przez Nicram (2012-05-21 16:25:56)
Offline
Witam,
trochę czasu minęło od ostatniego posta :)
coś się zmieniło tym temacie? jakieś nowości?
Offline
Skoro to nie ja suchara wykopałem ;), to się dopiszę z pytaniem:
HSFC jest dużo lepszy od kolejki (drzewko 3 poziomowe) HTB + dla każdego pacjenta SFQ?
Mam na myśli wydajność HSFC vs HTB.
Ostatnio edytowany przez Jacekalex (2015-03-12 22:56:50)
Offline
Time (s) | Query |
---|---|
0.00009 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00100 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.144.96.108' WHERE u.id=1 |
0.00068 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.144.96.108', 1732222143) |
0.00043 | SELECT * FROM punbb_online WHERE logged<1732221843 |
0.00056 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=14098 AND t.moved_to IS NULL |
0.00006 | SELECT search_for, replace_with FROM punbb_censoring |
0.00454 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=14098 ORDER BY p.id LIMIT 0,25 |
0.00106 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=14098 |
Total query time: 0.00846 s |