* [Cerowrt-devel] qos/aqm script testers wanted
@ 2012-04-15 4:07 Dave Taht
2012-04-15 4:35 ` Dave Taht
0 siblings, 1 reply; 2+ messages in thread
From: Dave Taht @ 2012-04-15 4:07 UTC (permalink / raw)
To: cerowrt-devel
I have, over the past year, looked at more streams, and qos/shaping
models, than I care to think about.
sfqred is the culmination of the first part of the effort and it's
proving to be hairy.
I finally got fed up with trying to make it all work out of lua and
tossed off this one, which addresses the
major parameters I've noticed as making a difference in today's environments.
https://github.com/dtaht/deBloat/blob/master/src/simple_qos.sh
The hairy red-related calculations (that needed lua) are currently
elided, and this works best in the 2-4Mbit range.
However, I could use some data from various tools, from people,
hitting various sites in order to scale up and down better.
Twiddle the hard coded uplink and PPOE variables in the script, then...
IFACE=ge00 ./simple_qos.sh
What I'm interested in:
ADSL users operating at 1Mbit or less, as well as 10Mbit
Verizon at 25Mbit
Cable at 2, 4Mbit uplinks
Other, weirder, technologies
In the script, if you want to hammer at finding good values...
I note that depth can be easily reduced to 20 or less in the median case.
And the the red parameters are terribly minimal. I got some data from
a verizon 25/25 site
that I simply couldn't make fit any curve.
I'm not at present doing ingress shaping, I will eventually.
I do a variety of tests -
0) ALWAYS run a ping.
During any of these tests, I ping away trying to keep ping RTT flat. I
log these pings, too. fping is good, you can set it up to ping on 10ms
intervals with larger than normal packets, to look more like voip.
1) I hit speedtest.net sites 4,30, and 90ms away in the US. Monkey
Brains in SF has ECN enabled (as does my laptop)
So I take their number with this script off
tc qdisc del dev ge00 root
Plug it into a script like this
and try it again (while pinging! It's latency under load we need to fix)
2) Netperf. The version of netperf on the router supports
classification. It's generally better to install and run netperf from
svn on a wired or wireless laptop...
After things work well with one stream, I fire up more and more...
then twiddle with the TCP_RR test, TCP_MAERTS,
ipv6, etc, etc
a typical command line is:
netperf -Y AF42,AF42 -l 60 -H huchra.bufferbloat.net -t TCP_STREAM &
netperf -Y AF42,AF42 -l 60 -H huchra.bufferbloat.net -t TCP_RR &
Which exercises the priority queue which is set to 33% of the bandwidth.
netperf -l 60 -H huchra.bufferbloat.net -t TCP_STREAM & # sometimes 50 or more
netperf -l 60 -H huchra.bufferbloat.net -t TCP_RR &
Does best effort. (CEIL - a little). Note the -l 60. Frankly, 10
minutes of data with
a packet capture is often far more revealing than 60 seconds...
I'll sometimes run 50 or more of these sorts of things, to observe
when, for example
tcp streams get starved and can't get out of slow start.
There are netperf servers setup on machines here, with both IPv6 and
IPv4 support, they are
huchra.bufferbloat.net
carme.lab.bufferbloat.net # this machine appears to have problems
io.lab.bufferbloat.net
I try to capture the output of
tc -s qdisc show dev ge00 >> /tmp/log
tc -s class show dev ge00 >> /tmp/log
after each one.
Anyway, happy hacking. It is my hope to automate the iterative process
of finding the 'more right numbers'
within reason...
I note also the output of shaperprobe is often interesting. It's not
installed by default can
--
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Cerowrt-devel] qos/aqm script testers wanted
2012-04-15 4:07 [Cerowrt-devel] qos/aqm script testers wanted Dave Taht
@ 2012-04-15 4:35 ` Dave Taht
0 siblings, 0 replies; 2+ messages in thread
From: Dave Taht @ 2012-04-15 4:35 UTC (permalink / raw)
To: cerowrt-devel
This is an example:
http://www.bufferbloat.net/projects/cerowrt/wiki/Early_Test_Results
It would be nice to have netperf output parsed into a better format...
On Sat, Apr 14, 2012 at 9:07 PM, Dave Taht <dave.taht@gmail.com> wrote:
> I have, over the past year, looked at more streams, and qos/shaping
> models, than I care to think about.
>
> sfqred is the culmination of the first part of the effort and it's
> proving to be hairy.
>
> I finally got fed up with trying to make it all work out of lua and
> tossed off this one, which addresses the
> major parameters I've noticed as making a difference in today's environments.
>
> https://github.com/dtaht/deBloat/blob/master/src/simple_qos.sh
>
> The hairy red-related calculations (that needed lua) are currently
> elided, and this works best in the 2-4Mbit range.
>
> However, I could use some data from various tools, from people,
> hitting various sites in order to scale up and down better.
> Twiddle the hard coded uplink and PPOE variables in the script, then...
>
> IFACE=ge00 ./simple_qos.sh
>
> What I'm interested in:
>
> ADSL users operating at 1Mbit or less, as well as 10Mbit
> Verizon at 25Mbit
> Cable at 2, 4Mbit uplinks
> Other, weirder, technologies
>
> In the script, if you want to hammer at finding good values...
> I note that depth can be easily reduced to 20 or less in the median case.
> And the the red parameters are terribly minimal. I got some data from
> a verizon 25/25 site
> that I simply couldn't make fit any curve.
> I'm not at present doing ingress shaping, I will eventually.
>
> I do a variety of tests -
>
> 0) ALWAYS run a ping.
>
> During any of these tests, I ping away trying to keep ping RTT flat. I
> log these pings, too. fping is good, you can set it up to ping on 10ms
> intervals with larger than normal packets, to look more like voip.
>
> 1) I hit speedtest.net sites 4,30, and 90ms away in the US. Monkey
> Brains in SF has ECN enabled (as does my laptop)
>
> So I take their number with this script off
>
> tc qdisc del dev ge00 root
>
> Plug it into a script like this
>
> and try it again (while pinging! It's latency under load we need to fix)
>
> 2) Netperf. The version of netperf on the router supports
> classification. It's generally better to install and run netperf from
> svn on a wired or wireless laptop...
>
> After things work well with one stream, I fire up more and more...
> then twiddle with the TCP_RR test, TCP_MAERTS,
> ipv6, etc, etc
>
> a typical command line is:
>
> netperf -Y AF42,AF42 -l 60 -H huchra.bufferbloat.net -t TCP_STREAM &
> netperf -Y AF42,AF42 -l 60 -H huchra.bufferbloat.net -t TCP_RR &
>
> Which exercises the priority queue which is set to 33% of the bandwidth.
>
> netperf -l 60 -H huchra.bufferbloat.net -t TCP_STREAM & # sometimes 50 or more
> netperf -l 60 -H huchra.bufferbloat.net -t TCP_RR &
>
> Does best effort. (CEIL - a little). Note the -l 60. Frankly, 10
> minutes of data with
> a packet capture is often far more revealing than 60 seconds...
>
> I'll sometimes run 50 or more of these sorts of things, to observe
> when, for example
> tcp streams get starved and can't get out of slow start.
>
> There are netperf servers setup on machines here, with both IPv6 and
> IPv4 support, they are
>
> huchra.bufferbloat.net
> carme.lab.bufferbloat.net # this machine appears to have problems
> io.lab.bufferbloat.net
>
> I try to capture the output of
>
> tc -s qdisc show dev ge00 >> /tmp/log
> tc -s class show dev ge00 >> /tmp/log
>
> after each one.
>
> Anyway, happy hacking. It is my hope to automate the iterative process
> of finding the 'more right numbers'
> within reason...
>
> I note also the output of shaperprobe is often interesting. It's not
> installed by default can
>
> --
> Dave Täht
> SKYPE: davetaht
> US Tel: 1-239-829-5608
> http://www.bufferbloat.net
--
Dave Täht
SKYPE: davetaht
US Tel: 1-239-829-5608
http://www.bufferbloat.net
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2012-04-15 4:35 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-04-15 4:07 [Cerowrt-devel] qos/aqm script testers wanted Dave Taht
2012-04-15 4:35 ` Dave Taht
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox