From: Sebastian Moeller <moeller0@gmx.de>
To: Aaron Wood <woody77@gmail.com>
Cc: cerowrt-devel <cerowrt-devel@lists.bufferbloat.net>
Subject: Re: [Cerowrt-devel] ingress rate limiting falling short
Date: Wed, 3 Jun 2015 19:49:40 +0200 [thread overview]
Message-ID: <5A699476-8E71-4D38-BABE-F755931447B5@gmx.de> (raw)
In-Reply-To: <CALQXh-OjiUaStSrVAOcRodA8eGCL2eExNO76Ncu-7i3JJPRPPw@mail.gmail.com>
HI Aaron,
On Jun 3, 2015, at 07:45 , Aaron Wood <woody77@gmail.com> wrote:
> I wrote this up on my blog, where I can intersperse text and graphs a bit better:
>
> http://burntchrome.blogspot.com/2015/06/htb-rate-limiting-not-quite-lining-up.html
>
> Basically, I ran a series of tcp_download tests, using increasing ingress rates with sqm_scripts, and then used flent's box-plots to put the results into a combined image for comparing.
>
> On the 3800, it never meets the rate, but it's only off by maybe 5%.
As Jonathan pointed out already this is in the range of the difference between raw rates and tcp good put, so nothing to write home about ;)
> But on my new WRT1900AC, it's wildly off, even over the same performance range (I tested it from 80-220Mbps rates in 20Mbps jumps, and saw from 40-150Mbps.
So you started with the WRT1900AC where the wndr3800 dropped off? I wonder maybe the Belkin is also almost linear for the lower range? I also note we adjust the quantum based on the rates:
from functions .sh:
get_mtu() {
BW=$2
F=`cat /sys/class/net/$1/mtu`
if [ -z "$F" ]
then
F=1500
fi
if [ $BW -gt 20000 ]
then
F=$(($F * 2))
fi
if [ $BW -gt 30000 ]
then
F=$(($F * 2))
fi
if [ $BW -gt 40000 ]
then
F=$(($F * 2))
fi
if [ $BW -gt 50000 ]
then
F=$(($F * 2))
fi
if [ $BW -gt 60000 ]
then
F=$(($F * 2))
fi
if [ $BW -gt 80000 ]
then
F=$(($F * 2))
fi
echo $F
}
which we use in the htb invocations via this indirection:
LQ="quantum `get_mtu $IFACE $CEIL`”
$TC qdisc add dev $DEV root handle 1: `get_stab_string` htb default 12
$TC class add dev $DEV parent 1: classid 1:1 htb $LQ rate ${CEIL}kbit ceil ${CEIL}kbit `get_htb_adsll_string`
$TC class add dev $DEV parent 1:1 classid 1:10 htb $LQ rate ${CEIL}kbit ceil ${CEIL}kbit prio 0 `get_htb_adsll_string`
$TC class add dev $DEV parent 1:1 classid 1:11 htb $LQ rate 32kbit ceil ${PRIO_RATE}kbit prio 1 `get_htb_adsll_string`
$TC class add dev $DEV parent 1:1 classid 1:12 htb $LQ rate ${BE_RATE}kbit ceil ${BE_CEIL}kbit prio 2 `get_htb_adsll_string`
$TC class add dev $DEV parent 1:1 classid 1:13 htb $LQ rate ${BK_RATE}kbit ceil ${BE_CEIL}kbit prio 3 `get_htb_adsll_string`
So maybe we need to extend the quantum increases beyond 80Mbps to keep things linear?
I don’t know but it sure looks suspicious…
>
> I have no idea where to start looking for the cause. But for now, I'm just setting my ingress rate MUCH higher than I should, because it's working out to the right value as a result.
It would be great to understand why we need to massively under-shape in that situation to get decent shaping and decent latency under load.
Best Regards
Sebastian
>
> -Aaron
> _______________________________________________
> Cerowrt-devel mailing list
> Cerowrt-devel@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cerowrt-devel
next prev parent reply other threads:[~2015-06-03 17:51 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-06-03 5:45 Aaron Wood
2015-06-03 6:00 ` Dave Taht
2015-06-03 15:53 ` Jonathan Morton
2015-06-03 15:58 ` Sebastian Moeller
2015-06-03 16:25 ` Jonathan Morton
2015-06-03 17:49 ` Sebastian Moeller [this message]
2015-06-03 22:16 ` Aaron Wood
2015-06-03 22:27 ` Dave Taht
2015-06-03 22:34 ` Dave Taht
2015-06-03 22:43 ` Aaron Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://lists.bufferbloat.net/postorius/lists/cerowrt-devel.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5A699476-8E71-4D38-BABE-F755931447B5@gmx.de \
--to=moeller0@gmx.de \
--cc=cerowrt-devel@lists.bufferbloat.net \
--cc=woody77@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox