From: Alan Jenkins <alan.christopher.jenkins@gmail.com>
To: moeller0 <moeller0@gmx.de>
Cc: Brandon Applegate <brandon@burn.net>, Bloat@lists.bufferbloat.net
Subject: Re: [Bloat] Getting started with sqm-scripts - latency good, bandwidth decimated
Date: Wed, 20 Jan 2016 12:06:55 +0000 [thread overview]
Message-ID: <569F785F.5010801@gmail.com> (raw)
In-Reply-To: <9A63607E-6B33-4084-91D6-E8727EBF2B67@gmx.de>
On 20/01/16 11:43, moeller0 wrote:
>> On Jan 20, 2016, at 11:12 , Alan Jenkins <alan.christopher.jenkins@gmail.com> wrote:
>>
>> On 19/01/2016, Brandon Applegate <brandon@burn.net> wrote:
>>> Disclaimer: if this is the wrong list for such a question - let me know.
>>> This is specifically about the sqm-scripts package...
>>>
>>> Hello,
>>>
>>> I’ve been reading all I can on the bufferbloat website and also trying to
>>> understand the evolution of the various scripts (debloat, sqm, etc).
>>>
>>> I managed to get sqm-scripts on my firewall (Ubuntu linux on a PC - no *wrt
>>> etc). Got it built with the ‘linux’ platform. Since this is Ubuntu 12.04 -
>>> I had to cheat a bit and pull down the iproute2 source from 14.04. I’ve
>>> tweaked the main sqm script to reflect this for the tc bindary - this is
>>> working. I also updated my kernel to a later version that supports
>>> fq_codel.
>>>
>>> My topology is ‘on a stick’. I have one gig interface to a managed switch,
>>> on which are eth0.666 (outside/wan) and eth0.10 (inside).
>>>
>>> I have 30/5 cable service, and have tried both those values as well as 90%
>>> in my /etc/sqm/*conf file.
>>>
>>> I’ve tried both eth0 (raw/parent interface) as well as eth0.666.
>>>
>>> No matter what I do - my bandwidth is 10% of what it should be. I get
>>> approx. 3/4mbit down + 2/3mbit up on dslreports speedtest. Bufferbloat
>>> looks great though - A+.
>>>
>>> Is there something inherent I’m doing wrong ? Something to do with my ‘on a
>>> stick’ topology biting me ? Kernel version (Ubuntu’s 3.13.0-74-generic
>>> btw).
>>>
>>> Thanks in advance for any help or info (or pointer to a more appropriate
>>> list).
>> It doesn't sound like you're doing anything wrong :(.
>>
>> I would make sure to check the rates on `tc class show dev eth0.666`
>> (and ifb4eth0.666). Switching to `simplest.qos` could be easier to
>> debug. With your simple.qos, there'll be several tracffic classes...
>> the `root` should be the specified `rate`, and it looks like all
>> classes save 1:11 should have a `ceil` just under the specified rate.
>>
>> Not sure how to debug qos-scripts itself. However the Gentoo wiki has
>> a 50-line script, which was corrected by dtaht :). Like simplest.qos
>> this has a single class.
>> https://wiki.gentoo.org/wiki/Traffic_shaping
>>
>> That would let you investigate the commands finely, as well as the
>> resulting state shown by `tc qdisc` and `tc class`, and really narrow
>> it down.
>>
>> `dslreports.com` will show bandwidth and latency-under-load in each
>> direction independently, so you could work on a single direction. I
>> would look at ingress only (the IFB) since that's where your bandwidth
>> decimation is so visible. E.g. just comment out the egress section,
>> to avoid distractions.
> It should be sufficient to set the egress rate to 0 then, as for sqm zero denotes no shaping and not a rate of zero kbps (good luck using TCP on a purely unidirectional link...)
>
>> I think you can run the htb without the fq_codel command at the end -
>> that is, it will default to a massive fifo, which will replace the
>> fq_codel in the output of `tc qdisc`, but to a first approximation it
>> will affect bandwidth.
> Simply put
> QDISC=pfifo_fast
> into the .conf file for eth0.666 to test this.
>
> Best Regards
> Sebastian
No offense to your work on sqm-scripts.
1) It's just in case the problem is *outside* of sqm-scripts, it could
be useful to try the minimum commands necessary to demonstrate the
problem. Maybe it's unfair but I assumed running on a PC is also a less
tested case, as well as the "firewall on a stick" part.
Equally, since AFAICT Brandon hasn't had a working AQM setup on this box
before. It could be useful if the Gentoo script works, to prove that
AQM + fq_codel can work correctly on Brandon's box.
If the Gentoo script _wasn't_ working, that's when I'd suggest tearing
it down e.g. to eliminate fq_codel as an issue. Rather than specify
fifo explicitly, just don't run the fq_codel command (assuming that
actually does something sensible, which can be checked using `tc qdisc`).
2) More specifically, you didn't mention trying "simplest.qos". This
would i) simplify the setup we're trying to debug, and ii) it might show
if there's a bug with the more complex bandwidth calculations /
assignments in "simple.qos".
And again - I suggest starting by checking `tc class show dev eth0.666`,
because it's not a 100% obvious command, and we don't want to miss if
there are bad rates there :).
Alan
next prev parent reply other threads:[~2016-01-20 12:07 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-19 23:33 Brandon Applegate
2016-01-20 0:09 ` Jonathan Morton
2016-01-20 0:14 ` Brandon Applegate
2016-01-20 2:36 ` Jonathan Morton
2016-01-20 17:32 ` Simon Barber
2016-01-20 10:12 ` Alan Jenkins
2016-01-20 10:15 ` Alan Jenkins
2016-01-20 11:47 ` moeller0
2016-01-20 11:43 ` moeller0
2016-01-20 12:06 ` Alan Jenkins [this message]
2016-01-20 12:25 ` moeller0
2016-01-20 14:51 ` Brandon Applegate
2016-01-20 15:10 ` moeller0
2016-01-20 15:15 ` Brandon Applegate
2016-01-20 16:05 ` Sebastian Moeller
2016-01-20 16:10 ` Brandon Applegate
2016-01-20 16:32 ` Alan Jenkins
2016-01-20 16:34 ` Brandon Applegate
2016-01-20 16:47 ` Etienne Champetier
2016-01-20 16:54 ` Brandon Applegate
2016-01-20 17:09 ` Etienne Champetier
2016-01-20 17:42 ` moeller0
2016-01-20 17:50 ` Etienne Champetier
2016-01-20 17:40 ` moeller0
2016-01-20 11:30 ` moeller0
2016-01-20 12:37 ` Rich Brown
2016-01-20 14:42 ` Brandon Applegate
2016-01-20 15:30 ` Brandon Applegate
2016-01-20 16:09 ` Sebastian Moeller
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/bloat.lists.bufferbloat.net/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=569F785F.5010801@gmail.com \
--to=alan.christopher.jenkins@gmail.com \
--cc=Bloat@lists.bufferbloat.net \
--cc=brandon@burn.net \
--cc=moeller0@gmx.de \
/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