htb - skaczace transfery

Konfiguracja serwerów, usług, itp.
sappa
Beginner
Posty: 148
Rejestracja: 08 sierpnia 2006, 15:09

htb - skaczace transfery

Post autor: sappa »

Witam.

Mam problem z kolejkowaniem htb. W trakcie sciagania transfery wachaja sie, od 120 kB/s do 20kB/s.
Htb zalozone na interfejs imq1 (do imq wrzucane sa polaczenia pppoe). Max transfer (ceil) 120kB (1000kbit) rate 60kB (500kbit) podzial po rowno.
Kilka przykladowych sytuacji:
Komp1 zaczyna transfer z predkoscia max (120 kB), rozpoczecie transferu na komp2 zaczyna od (60 kB) chwile ciagnie 60 a pozniej zaczyna spadac. W tym samym czasie na drugim kompie transfer zaczyna spadac powoli do 60Kb, ciagnie przez chwile 60 i zaczyna dalej leciec w dol. Po paru minutach na jednym z kompow transfer wzrasta do 60 kb a na drugim jest rzedu 15 kB. Co ciekawe

Kod: Zaznacz cały

tc -s -d class show dev imq1 

pakazuje transfery na obu kolejkach po 500kbit, Na glownej 1000kbit a transfery na kompach w sumie okolo 40kB/s :|
Przypadek2: komp1 zaczyna transfer z max predkoscia po czym po paru minutach transfer jest rzedu 20kB a tc pokazuje ze przz kolejke idzie 500kbit. Po jakims czasie transfer skacze do 60kB a tc pokazuje ze prze kolejke idzie np 200kbit.
skrypt :mrgreen: dzielacy ruch

Kod: Zaznacz cały

IF_LAN=imq1
USER=2
MAX_DL=4000
DL_CEIL_NUM=1024
DL_RATE_NUM=$(((DL_CEIL_NUM-80)/USER))
DL_CEIL=$[$DL_CEIL_NUM]kbit
DL_RATE=$[$DL_RATE_NUM]kbit

tc qdisc del root dev $IF_LAN
tc qdisc add dev $IF_LAN root handle 1:0 htb

tc class add dev $IF_LAN  parent 1:0 classid 1:1 htb rate $MAX_DL ceil $MAX_DL

tc class add dev $IF_LAN parent 1:1 classid 1:2 htb rate 80kbit ceil 80kbit prio 1

tc filter add dev $IF_LAN protocol ip parent 1:0 prio 1 u32 match ip sport 53 0xffff flowid 1:2
tc filter add dev $IF_LAN protocol ip parent 1:0 prio 2 u32 match ip sport 22 0xffff flowid 1:2
tc qdisc add dev $IF_LAN parent 1:2  handle 2:0 sfq perturb 10

tc class add dev $IF_LAN parent 1:1 classid 1:10 htb rate $DL_RATE ceil $DL_CEIL
tc filter add dev $IF_LAN protocol ip parent 1:0 u32 match ip dst 192.168.0.249 flowid 1:10
#tc qdisc add dev $IF_LAN parent 1:10  handle 10:0 sfq perturb 10

tc class add dev $IF_LAN parent 1:1 classid 1:20 htb rate $DL_RATE ceil $DL_CEIL
tc filter add dev $IF_LAN protocol ip parent 1:0 u32 match ip dst 192.168.0.251 flowid 1:20
#tc qdisc add dev $IF_LAN parent 1:20  handle 20:0 sfq perturb 10
Wszystko chodzi na debianku jajo 2.6.22 z imq zalozonym in interface ppp+.
Ma ktos jakis pomysl co moglem poknocic. Nie wiem jakie jeszcze info moga pomoc zdjagnozowac problem.

Pozdrawiam

[ Dodano: 2007-10-11, 02:07 ]
Dla pewnosci wywalilem imq i pppoe te same kolejki zalone na eth2 (wyjscie do lan).
klasa 1:10 komp1 z winda klasa 1:20 komp z debianem klasa 1:2 ssh i dns.

Kod: Zaznacz cały

Every 2,0s: tc -s -d  class show dev eth2                                                                                         Sun Oct  7 03:13:13 2007

class htb 1:10 parent 1:1 prio 0 quantum 5900 rate 472000bit ceil 1024Kbit burst 1835b/8 mpu 0b overhead 0b cburst 2113b/8 mpu 0b overhead 0b level 0
 Sent 13222678 bytes 8789 pkt (dropped 62529, overlimits 0 requeues 0)
 rate 472272bit 39pps backlog 0b 998p requeues 0
 lended: 7791 borrowed: 0 giants: 0
 tokens: -44707 ctokens: -6879

class htb 1:1 root rate 4000bit ceil 4000bit burst 1601b/8 mpu 0b overhead 0b cburst 1601b/8 mpu 0b overhead 0b level 7
 Sent 22225184 bytes 15887 pkt (dropped 0, overlimits 0 requeues 0)
 rate 940816bit 108pps backlog 0b 0p requeues 0
 lended: 0 borrowed: 0 giants: 0
 tokens: -58593719 ctokens: -58593719

class htb 1:20 parent 1:1 prio 0 quantum 5900 rate 472000bit ceil 1024Kbit burst 1835b/8 mpu 0b overhead 0b cburst 2113b/8 mpu 0b overhead 0b level 0
 Sent 11992831 bytes 8922 pkt (dropped 31017, overlimits 0 requeues 0)
 rate 467496bit 69pps backlog 0b 1000p requeues 0
 lended: 7922 borrowed: 0 giants: 0
 tokens: -45919 ctokens: -6864

class htb 1:2 parent 1:1 leaf 2: prio 1 quantum 1000 rate 80000bit ceil 80000bit burst 1639b/8 mpu 0b overhead 0b cburst 1639b/8 mpu 0b overhead 0b level
0
 Sent 33186 bytes 174 pkt (dropped 0, overlimits 0 requeues 0)
 rate 1528bit 0pps backlog 0b 0p requeues 0
 lended: 174 borrowed: 0 giants: 0
 tokens: 126563 ctokens: 126563
Tc pokauje ruch na poziomie 500kbit a transfery na windzie 0,5-2 kB/s a na deianie przez 2s 20kB/s a poznija 2s nic.
Ktos moze ma pomysl co moze byc nie tak ? Prosze o pomoc bo juz 2 dzien z tym siedze i dalej kiszka :|

Pozdro
gothye
Posty: 91
Rejestracja: 12 maja 2007, 15:26
Lokalizacja: P³ock

Post autor: gothye »

niepozostaje nic innego jak markowanie ruchu userów dla donwloadu i uploadu a potem wychwytywanie przez filtr tc
sappa
Beginner
Posty: 148
Rejestracja: 08 sierpnia 2006, 15:09

Post autor: sappa »

Z markowaniem to samo nawet gorzej bo kolejka jak by sie szybciej zapychala i po chwili transfer skacze od 0 do 20kB/s :|
regi
Posty: 2
Rejestracja: 12 października 2007, 18:32

Post autor: regi »

przypatrz sie co ty robisz

Kod: Zaznacz cały

tc class add dev $IF_LAN  parent 1:0 classid 1:1 htb rate $MAX_DL ceil $MAX_DL 
tp przeciez nic innego jak

Kod: Zaznacz cały

tc class add dev $IF_LAN  parent 1:0 classid 1:1 htb rate 4000 ceil 4000
i teraz pomysl - glowna kolejka to 4k (pomijajac to ze niepodane sa jednostki)

4kbit to masz jakies 0,5kbajta/s

wiec ci transfery skacza kolo tej wartosci i tyle

imo nic tu do dodania niema

--- a co do glownego pytania ze niby skacza te transfery

nieda sie wyslac 0,5kB na sekunde, wiekszosc pakietow jest wieksza niz ta wartosc wiec wysyla sie taki pakiet ktory na 1,5kB no i potem przez 2 sekundy nic

//używaj tagów code
ruun
sappa
Beginner
Posty: 148
Rejestracja: 08 sierpnia 2006, 15:09

Post autor: sappa »

regi, Faktycznie przez kombinacje nie dopisalem kbit ale to nie ot jest przyczyna problemu. Poprawianiu dalej ta sama sytuacja. zaczyna z ful predkoscia zeby po chwili spasc do zera i pozniej sie wacha od 0 do 20kB. Gdy transfer tak skacze tc pokazuje

Kod: Zaznacz cały

Every 2,0s: tc -s -d class show dev eth2                                                                                                                  Thu Oct 11 23:13:50 2007

class htb 1:10 parent 1:1 prio 0 quantum 5900 rate 472000bit ceil 1024Kbit burst 1835b/8 mpu 0b overhead 0b cburst 2111b/8 mpu 0b overhead 0b level 0
 Sent 2887 bytes 16 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 16 borrowed: 0 giants: 0
 tokens: 31032 ctokens: 16512

class htb 1:1 root rate 4000Kbit ceil 4000Kbit burst 3599b/8 mpu 0b overhead 0b cburst 3599b/8 mpu 0b overhead 0b level 7
 Sent 172113593 bytes 114774 pkt (dropped 0, overlimits 0 requeues 0)
 rate 1025Kbit 85pps backlog 0b 0p requeues 0
 lended: 61851 borrowed: 0 giants: 0
 tokens: 1180 ctokens: 1180

class htb 1:20 parent 1:1 prio 0 quantum 5900 rate 472000bit ceil 1024Kbit burst 1835b/8 mpu 0b overhead 0b cburst 2111b/8 mpu 0b overhead 0b level 0
 Sent 173610708 bytes 115742 pkt (dropped 326182, overlimits 0 requeues 0)
 rate 1025Kbit 85pps backlog 0b 1000p requeues 0
 lended: 52891 borrowed: 61851 giants: 0
 tokens: -4332 ctokens: -20412

class htb 1:2 parent 1:1 prio 1 quantum 1000 rate 80000bit ceil 80000bit burst 1639b/8 mpu 0b overhead 0b cburst 1639b/8 mpu 0b overhead 0b level 0
 Sent 2414 bytes 16 pkt (dropped 0, overlimits 0 requeues 0)
 rate 0bit 0pps backlog 0b 0p requeues 0
 lended: 16 borrowed: 0 giants: 0
 tokens: 126161 ctokens: 126161
co oznacza

Kod: Zaznacz cały

Sent 173610708 bytes 115742 pkt ("dropped 326182", overlimits 0 requeues 0)
bo gdy transfer zaczyna spadac to zaczyna szybko rosnac
a iptraf

Kod: Zaznacz cały

Total rates:       1066.4 kbits/sec            Broadcast packets:            6
                        171.0 packets/sec          Broadcast bytes:         1011  
Incoming rates:      43.8 kbits/sec           IP checksum errors:           0 
                              85.8 packets/sec

Outgoing rates:    1022.7 kbits/sec
                           85.2 packets/sec  
 
Przez cala noc sciagnelo sie 70 mb a iptraf pokazuje ze wyslal do lanu 3,5 Gb.
Wyglado jak by gdzies pakiety ginely po drodze. O co w tym biega ?

Pozdro

[ Dodano: 2007-10-18, 03:33 ]
Jednak pakiety nie gina w drodze bo iptraf na kliencie pokazuje ze odbiera 1000kbit/s. wget pokazuje ze sciaga np 10kB/s, i jesli wget poazuje ze sciagnoł 500kB to iptraf i ipconfig pokazuje ze odebral 18MB .
Niech mnie chociaz ktos naprowadzi czego moge sie czepic.

Pozdro
ODPOWIEDZ