Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: xnoreq <xnoreq@gmail.com>
Cc: cake@lists.bufferbloat.net, Dendari Marini <dendari92@gmail.com>
Subject: Re: [Cake] Getting Cake to work better with Steam and similar applications
Date: Sat, 22 Apr 2017 14:50:25 +0200	[thread overview]
Message-ID: <CAO3A9vh=MWrtzwmjfBwzBBuY3TsVSRjxKZTBUQ5hfwr28+5Dxg@mail.gmail.com> (raw)
In-Reply-To: <D8364A3B-B822-4388-A535-35B111FA1333@gmail.com>

[-- Attachment #1: Type: text/plain, Size: 5484 bytes --]

FYI, when I looked at Steam traffic a few years ago it was very bursty,
meaning that there is nothing transmitted for a short period and then
there's a burst that uses up all link bandwidth for a short while.
Internet was unusable without limiting Steam downloads quite a lot.

Now I don't have that problem anymore. Cake's ingress mode works almost as
well as I have expected (still need to set bw about 1Mbps lower on a 20Mbps
link - but that's ok).
Maybe the Steam CDN now also uses a saner network scheduler (like fq with
pacing). I'd guess so anyway.


On 22 Apr 2017 11:36, "Jonathan Morton" <chromatix99@gmail.com> wrote:

> >> So please add “atm overhead 32" to cake on eth0 or “atm overhead 40” to
> cake instances on pppoe (these packets do not have the PPPoE header added
> yet and hence appear 8 bytes to small).
> >
> > Thanks for your help, will definitely use them. Just wondering if I use
> "pppoe-vcmux/bridged-llcsnap" on eth0 or "pppoe-llcsnap" on pppoe0 would
> have the same effect? Or are there some other "under-the-hood" changes when
> using them?
>
> On the pppoe interface, use pppoe-vcmux if your modem is set to use
> VC-MUX, or pppoe-llcsnap if it’s set to use LLC-SNAP (they might be
> described using slightly different terms, but should still be recognisable
> as one or the other).  This probably depends on your ISP, and may further
> vary regionally within the same ISP.
>
> I really prefer to use the self-explanatory keywords (which is why I added
> them in the first place) instead of opaque magic numbers.  This is a point
> on which Sebastian has long disagreed with me.
>
> >> Question: if you set the shaper’s to 50% of line rate (8.75/0.5?) do
> you still see that unfairness? And if you add “atm overhead 40” to cake on
> pppoe0 and set the shaper to 90% of line rates (15.75/0.9) how does the
> Steam affect per-host fairness? Also how transient are these connections
> team uses?
> >
> > Actually did more testing about this and it seems that as far I have set
> the bandwidth to ~15Mbps (so ~15% less of my max speed) and use the "nat"
> parameter, the per-host fairness works even without the "dual-host" and
> "overhead" parameters. I definitely find this very interesting, is this
> behaviour caused by the way Steam downloads games?
>
> By default, Cake uses triple-isolate mode, which uses information about
> both source and destination hosts to perform per-host isolation; this
> usually works well regardless of which side of the connection has the LAN
> hosts.  The “dual” modes let you specify that fact explicitly, making it a
> little more robust and predictable.
>
> Without overhead compensation, Cake will actually use more of the physical
> link than it thinks it does - by default it only accounts for raw IP or
> Ethernet packets, depending on the type of interface it’s attached to.
> With full-size packets as in a bulk download, the difference is relatively
> small, so the 15% margin is just about sufficient to make things work.  But
> with small packets mixed in, the difference grows, such that Cake might no
> longer control the bottleneck with some traffic mixes.
>
> The “conservative” keyword I recommended earlier (which is exactly
> equivalent to Sebastian’s recommendation of “atm overhead 48”) reverses
> that situation; Cake will then always end up using *less* of the physical
> link than it accounts for, which is safe for troubleshooting with.  The
> keyword is there specifically so that we do’t have to figure out the
> precise overhead profile before tackling more substantive issues.
>
> At any rate, it has nothing to do with Steam specifically.
>
> >> As far as I can tell cake can drill down to the required IP/TCP/UDP
> fields independent of whether there are VLAN tags or PPPoE headers so cake
> should not care (except for the different overhead specifications you need
> to add as stated above). BUT if instantiated on eth0 cake will see pppoe
> LCP packets and might decide to drop them, which can take down the link, so
> out of caution I would still instantiate on pppoe in your case.
> >
> > Yeah, with further testing it seems the interface wasn't the culprit but
> I'll still do all my testing on pppoe0 just to be safe.
> >
> > Anyway I was wondering if there's some kind of manual for Cake and the
> various parameters, I'm looking to set it up best way possible but there
> are some parameters which I'm not sure what they do (one of them being
> "ingress”).
>
> With the correct version of iproute2 installed, just issue “man tc-cake”.
> That’s the official documentation.
>
> Currently it doesn’t have the ingress keyword yet.  That’ll be fixed soon.
>
> > Also while reading on the bufferbloat.net Cake page I noticed a
> possible "fix" for BitTorrent (by setting it as "background",
> https://www.bufferbloat.net/projects/codel/wiki/Cake/#diffserv-support),
> I'm wondering if this can be done with Steam too?
>
> It’s possible, if you can figure out which traffic is Steam in the first
> place, and write filters to match on it.  This is complicated by the fact
> that Valve runs a sophisticated CDN to handle their rather impressive
> bandwidth load.
>
>  - Jonathan Morton
>
> _______________________________________________
> Cake mailing list
> Cake@lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake
>

[-- Attachment #2: Type: text/html, Size: 6371 bytes --]

  reply	other threads:[~2017-04-22 12:50 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-04-20 13:39 Dendari Marini
2017-04-20 13:43 ` Sebastian Moeller
2017-04-20 15:23   ` Dendari Marini
2017-04-20 15:32     ` Jonathan Morton
2017-04-20 16:05       ` Dendari Marini
2017-04-20 17:12         ` Andy Furniss
2017-04-20 17:36         ` Jonathan Morton
2017-04-20 18:35         ` Sebastian Moeller
2017-04-20 18:36         ` Sebastian Moeller
2017-04-21  8:34           ` Dendari Marini
2017-04-21 13:25             ` Sebastian Moeller
2017-04-21 13:27             ` Dendari Marini
2017-04-22  8:25               ` Dendari Marini
2017-04-22  9:36                 ` Jonathan Morton
2017-04-22 12:50                   ` xnoreq [this message]
2017-04-22 13:41                   ` Tristan Seligmann
2017-04-22 13:51                   ` Andy Furniss
2017-04-22 14:03                     ` Andy Furniss
2017-04-22 16:38                       ` Andy Furniss
2017-04-22 16:45                         ` Dave Taht
2017-04-22 17:00                           ` Tristan Seligmann
2017-04-22 20:24                         ` Andy Furniss
2017-04-22 16:47                   ` Sebastian Moeller
2017-04-22 21:56                     ` Dendari Marini
2017-04-22 22:15                       ` Sebastian Moeller
2017-04-23 12:32                         ` David Lang
2017-04-24  7:55                           ` Sebastian Moeller
2017-04-24  8:41                             ` Dendari Marini
2017-04-24 11:34                               ` Sebastian Moeller
2017-04-24 12:08                                 ` Dendari Marini
2017-04-24 12:35                                   ` Sebastian Moeller
2017-04-24 13:49                                     ` Dendari Marini
2017-04-24 15:42                                       ` Sebastian Moeller
2017-04-24 17:32                                       ` Sebastian Moeller
2017-04-25 10:26                               ` Andy Furniss
2017-04-25 11:24                                 ` Dendari Marini
2017-04-25 12:58                                   ` Andy Furniss
2017-04-25 18:22                                     ` Dendari Marini
2017-04-25 19:10                                       ` Jonathan Morton
2017-04-25 20:44                                         ` Dendari Marini
2017-04-25 21:32                                           ` Andy Furniss
2017-04-25 22:33                                           ` Benjamin Cronce
2017-04-28 15:37                                             ` Dendari Marini
2017-04-29 15:11                                               ` Andy Furniss
2017-04-29 17:30                                                 ` Jonathan Morton
2017-04-29 18:29                                                   ` Andy Furniss
2017-04-30  0:05                                                     ` Andy Furniss
2017-05-01  5:50                                                       ` Jonathan Morton
2017-05-01 11:32                                               ` Andy Furniss
2017-05-01 12:08                                                 ` Jonathan Morton
2017-05-01 13:03                                                   ` Andy Furniss
2017-05-01 13:11                                                     ` Jonathan Morton
2017-05-01 14:46                                                       ` Andy Furniss
2017-04-25 21:06                                         ` Andy Furniss
2017-04-25 21:16                                           ` Neil Shepperd
2017-04-25 21:37                                             ` Andy Furniss
2017-04-25 21:43                                     ` Sebastian Moeller
2017-04-25 22:06                                       ` Andy Furniss
2017-04-25 22:29                                         ` Andy Furniss
2017-04-25 22:32                                           ` Andy Furniss
2017-04-22 22:35                       ` Andy Furniss
2017-04-22 14:12                 ` Sebastian Moeller
2017-04-20 18:16     ` 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/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAO3A9vh=MWrtzwmjfBwzBBuY3TsVSRjxKZTBUQ5hfwr28+5Dxg@mail.gmail.com' \
    --to=xnoreq@gmail.com \
    --cc=cake@lists.bufferbloat.net \
    --cc=dendari92@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