Date: Wed, 3 Nov 2010 21:46:58 -0700 From: "Ricky Charlet" <RCharlet@adaranet.com> To: "'freebsd-pf@freebsd.org'" <freebsd-pf@freebsd.org>, "'altq@csl.sony.co.jp'" <altq@csl.sony.co.jp> Subject: Questioning altq (cbq) performance above 4Mb on gif or above 40 Mb on e1000 Message-ID: <32AB5C9615CC494997D9ABB1DB12783C024C6FC071@SJ-EXCH-1.adaranet.com>
next in thread | raw e-mail | index | archive | help
Howdy, (FreeBsd 8.0REL plus a modified e1000 driver borrowing the 8.1 altq capabil= ities, amd64, 8 core) I have been measuring altq performance on my system. I set a cbq ba= ndwith limit for a queue, match traffic to the queue with an appropriate ru= le and pump data. Without altq enabled, my traffic gen tool (nuttcp) can pump 800Mb a= cross my gig links. With altq(cbq) setting bandwith limits (no borrow), up to about 40M= b on em0 altq keeps up. But from 40Mb bandwith limit and up, altq seems to = slow down my traffic much slower than the bandwidth limits. Same effect is observed on gif interfaces (where my real interest l= ies) but much worse. With altq(cbq) setting bandwith limits (no borrow), up= to about 4Mb on gif0 altq keeps up. But from 4Mb bandwidth limit and up, a= ltq seems to slow down my traffic much lower than the bandwidth limits. I have a large file of sample data in excel formant which I'd like = to share. Is there an appropriate way to share it with this list? I know I'm not cpu bound (97% idle while nuttcp pushes 800Mb traffi= c and altq configured with a bandwidth limit of 50Mb actually passes 30Mb.) I sort of suspect I'm mutex bound but have no idea how to test that= . (1) this config allows about 4Mb tcp traffic to pass: ----------cut------------------ altq on em0 cbq bandwidth 100Mb queue { queue1, queue2 } queue queue1 bandwidth 1Mb priority 7 cbq (default) queue queue2 bandwidth 50Mb priority 1 cbq pass out quick on gif10 inet proto tcp no state queue queue2 pass out quick on gif10 proto icmp queue queue2 ----------paste---------------- (2) this config allows about 40 Mb tcp traffic to pass ----------cut------------------ altq on em0 cbq bandwidth 100Mb queue { queue1, queue2 } queue queue1 bandwidth 1Mb priority 7 cbq (default) queue queue2 bandwidth 50Mb priority 1 cbq pass out quick on em0 inet proto tcp no state queue queue2 pass out quick on em0 proto icmp queue queue2 ----------paste---------------- Yes, I send appropriate traffic in each case to be 'caught' by the = tcp pass out rule wether it be found on a gif or an em. My goal is to get 'expected' behavior (a bandwidth limit of 40 Mb a= llows 40Mb to pass) at T3 link speed (45Mb). Is this a reasonable expectati= on? Any ideas about config jigs or tests to run? --- Ricky Charlet Adara Networks USA 408-433-4942
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?32AB5C9615CC494997D9ABB1DB12783C024C6FC071>