more tests - pf + altq + cbq(borrow) not borrowing from parent
- all LAN
Peter
fbsdq at peterk.org
Fri Mar 20 06:53:40 PDT 2009
> Peter wrote:
>> The server was just updated to
>> 7.2-PRERELEASE FreeBSD 7.2-PRERELEASE #0: Thu Mar 19 20:00:29 MDT 2009
>>
>> another test:
>> server <-> 100Mb switch <-> desktop
>> 172.20.1.1 <-switch-> 172.20.1.2
>> ALL traffic stays on local lan.
>>
>> altq on fxp0 cbq bandwidth 100Mb queue {extranet}
>> queue extranet bandwidth 886Kb {poshta}
>> queue poshta bandwidth 156Kb cbq(borrow,default)
>>
>> I sftp from desktop to server, and do 'get blob.tgz'
>> download to desktop from server goes at ~20KB
>>
>> vi /etc/pf.conf
>>
>> altq on fxp0 cbq bandwidth 100Mb queue {extranet}
>> queue extranet bandwidth 886Kb {poshta}
>> queue poshta bandwidth 856Kb cbq(borrow,default)
>>
>> /sbin/pfctl -nf /etc/pf.conf && /sbin/pfctl -f /etc/pf.conf
>>
>> I sftp from desktop to server, and do 'get blob.tgz'
>> download to desktop from server goes at ~100KB
>>
>> this is all local file system from /tmp/blob.tgz to /tmp/blob.tgz
>>
>> Going to try this tomorrow with 'server' being -CURRENT/latest snapshot.
>>
>> ]Peter[
>>
>
> You are missing "cbq" in your extranet queue definition... don't know
> how that would affect the behaviour though. Check with pfctl -sq if pf's
> interpretation of the queue definitions is what you intended.
cbq is defined in the root queue that references 'extranet' - Sets fxp0
interface to cbq - according to examples on pf faq, you only need to
define cbq if using any of the special cbq options like borrow/red/ecn.
[interface can only have one queue]
>
> The default queue makes me curious too. Although the man page doesn't
> give any restrictons to it (other than that there can only be one), I
> have never seen any example where one of the child queues are used as
> default queue. Might work perfectly... :-)
Well I know that the default queue effects my traffic as when I change
it, my download on desktop from server goes much faster. If I set it
lower, my download goes low - That is all working as designed, but what
is not working is the cbq(borrow) option - It just maxes out at whatever
I have defined there. No point in setting a hard max for
http/imap/smtp/ssh traffic - when one is not being utilized, the extra
should be shared.
root - parent(borrow) - this borrows from root/works
root - parent - child(borrow) - this does not borrow from parent.
root - parent(borrow) - child(borrow) - this child borrows from root?? -
this works - but this just gives child ability to borrow all of root, I
only want child to borrow all of parents bandwidth.
>
> On a sidenote - although this is an internal LAN with 100Mb you probably
> can't get that speed during full utilization. Depending on your NIC a
> more reasonable value would be 80-90% of the linkspeed. This is probably
> not related to your problem and would only be a potential problem when
> your trying to use your full bandwidth. [those are my only 3 altq lines]
>
> Max: Would I be correct in assuming that the bandwidth value for a 100Mb
> NIC should reflect its real throughput in the root queue definition and
> not its linkspeed?
>
> Regards
> Morgan
Well on LAN 100Mb is the "real throughput" - I'm not concerned on
throughput, I'm trying to "prioritize" traffic, experiment with
'borrowing' bandwidth, and testing with only one queue now - This one
queue, although it is the only queue, and this box is only on LAN with
only sftp going - It will not borrow anything more than what is
defined... Without altq, I get throughput in the MB ranges, so it's
not a physical limit, the queue is kicking in, but the child is not
borrowing from parent when parent is being _very_ underutilized.
]Peter[
More information about the freebsd-pf
mailing list