[FUG-BR] PF/AltQ/CBQ limita velocidade, mas nao o suficiente
Marcelo/Porks
marcelorossi em gmail.com
Sábado Outubro 20 16:14:17 BRST 2007
Mandei a mensagem dia 17, mas estavamos com problemas na lista e creio
que ela não chegou... Então tá ai:
Pessoal, não marquei como OFF Topic, pois implantei há 2 anos esse
mesmo esquema num debian e funcionou, portanto acho que é algo com o
PF/AltQ no FreeBSD.
Ah.. se as linhas estiverem quebrada no e-mail (80 colunas), vocês
podem le-lo no endereço:
http://www.mii.com.br/freebsd_pf_altq_cbq.txt
Estou implantando um controle de banda aqui, mas não está funcionando
conforme o planejado.
Estou usando PF com CBQ, vejam minhas regras no pf.conf:
----------------------------
[root at mt /]# cat /etc/pf.conf | grep queue
altq on $IF_Ext1 cbq bandwidth 512Kb queue { ce, pe, resto }
queue resto bandwidth 400Kb cbq (default)
queue ce bandwidth 5.6Kb cbq
queue pe bandwidth 5.6Kb cbq
pass in log on rl1 from $Usr_PE to any keep state queue pe
pass in log on rl1 from $Usr_CE to any keep state queue ce
[root at mt /]#
----------------------------
usando o tcpdump -i pflog0 -ttt eu consigo ver que os pacotes estão
entrando na fila:
----------------------------
000000 IP ce.xxxx.com.br.57852 > mt.xxxx.com.br.domain: 25851+[|domain]
000889 IP ce.xxxx.com.br.61638 > mt.xxxx.com.br.domain: 25852+[|domain]
000648 IP ce.xxxx.com.br.62900 > xxxx.http: S 1052851878:1052851878(0)
win 65535 <mss 1460,nop,wscale 1,[|tcp]>
----------------------------
Obs: essas três linhas acima aparecem no pflog0 imediatamente após eu
iniciar o download no host em questão (comando fetch)
na fila 'ce' a velocidade é de 5.6Kb/s (kilobits por segundo)
mas olhem só a velocidade que eu faço download:
----------------------------
[root at ce /]# fetch http://www.xxxxx.com.br/aaaa/YYYY.wce5.Apache.ARMV4.CAB
YYYY.wce5.Apache.ARMV4.CAB 4% of 6685 kB 9 kBps 10m46s
YYYY.wce5.Apache.ARMV4.CAB 8% of 6685 kB 8945 Bps 11m45s
YYYY.wce5.Apache.ARMV4.CAB 12% of 6685 kB 8515 Bps 11m45s
YYYY.wce5.Apache.ARMV4.CAB 16% of 6685 kB 8465 Bps 11m17s
YYYY.wce5.Apache.ARMV4.CAB 20% of 6685 kB 8504 Bps 10m43s
YYYY.wce5.Apache.ARMV4.CAB 25% of 6685 kB 8396 Bps 10m09s
YYYY.wce5.Apache.ARMV4.CAB 30% of 6685 kB 8392 Bps 09m29s
YYYY.wce5.Apache.ARMV4.CAB 35% of 6685 kB 8394 Bps 08m47s
YYYY.wce5.Apache.ARMV4.CAB 40% of 6685 kB 8353 Bps 08m04s
----------------------------
Ou seja, o download vem a 8 KB/s, portando 64 kilobits por segundo
A saida do meu 'pfctl -vv -sq' mostra que a velocidade da fila 'ce'
está em 5.25 kb/s (kilobits por segundo):
----------------------------
[root at mt /]# pfctl -vv -sq
queue root_ed0 bandwidth 512Kb priority 0 cbq( wrr root ) {resto, ce, pe}
[ pkts: 10359 bytes: 1142088 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 borrows: 0 suspends: 0 ]
[ measured: 10.9 packets/s, 5.92Kb/s ]
queue resto bandwidth 400Kb cbq( default )
[ pkts: 5137 bytes: 795819 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 borrows: 0 suspends: 0 ]
[ measured: 1.0 packets/s, 646.44 b/s ]
queue ce bandwidth 5.60Kb
[ pkts: 5183 bytes: 342334 dropped pkts: 4 bytes: 264 ]
[ qlength: 6/ 50 borrows: 0 suspends: 109 ]
[ measured: 9.9 packets/s, 5.25Kb/s ]
queue pe bandwidth 5.60Kb
[ pkts: 39 bytes: 3935 dropped pkts: 0 bytes: 0 ]
[ qlength: 0/ 50 borrows: 0 suspends: 0 ]
[ measured: 0.1 packets/s, 29.25 b/s ]
----------------------------
Alguém tem idéia do porque o pfctl diz que a fila está na velocidade
de 5.25kbps, mas no host em questão o download é feito a 64kbps?
Sendo que os pacotes do host realmente entram na fila 'ce'?
Ah.. e se eu mudar no pf.conf:
queue ce bandwidth 5.6Kb cbq
para:
queue ce bandwidth 50.6Kb cbq
A velocidade do donwload vai para mais de 30kB/s, ou seja: mais que
240 kilobits por segundo.
Valeu, pessoal.
--
Marcelo Rossi
"This e-mail is provided "AS IS" with no warranties, and confers no rights."
Mais detalhes sobre a lista de discussão freebsd