<div dir="ltr">Um, I wasn't sure if I should mention it, because it doesn't seem like it should be able to cause these kinds of issues. But, if you're using steam <i>on linux</i>, there's a known bug where it makes hundreds (thousands?) of DNS queries per second, during downloads, which can cause issues if the DNS server on your router starts throttling. I don't know how or if that should affect the apparent performance of cake in different tests. But the workaround is to have a local DNS cache like dnsmasq on your host (and of course it's not an issue on Windows machines).</div><br><div class="gmail_quote"><div dir="ltr">On Tue, 25 Apr 2017 at 17:06 Andy Furniss <<a href="mailto:adf.lists@gmail.com">adf.lists@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Jonathan Morton wrote:<br>
><br>
>> On 25 Apr, 2017, at 21:22, Dendari Marini <<a href="mailto:dendari92@gmail.com" target="_blank">dendari92@gmail.com</a>><br>
>> wrote:<br>
>><br>
>> The good news is that using switch0 as inbound and pppoe0 as<br>
>> outbound works, and I was able to set up Steam as bulk using the<br>
>> interface on the ER-X (used DSCP 8 and used a custom DPI category).<br>
>> I confirmed this was working by looking at the bulk traffic<br>
>> increasing (using the "tc -s qdisc" command) and by starting<br>
>> another download (Steam gets pretty much nothing in this case).<br>
>><br>
>> The bad news is this isn't enough to fix my gaming issue (still<br>
>> having ping spikes, latency variation and packet loss), and even<br>
>> using it with Steam configured to use just one connection didn't<br>
>> change much from my previous testing.<br>
>><br>
>> So I'm  really confused :\ What could cause ping spikes in this<br>
>> case (assuming the multiple connections aren't the issue)?<br>
><br>
> As noted, it’s far more difficult to control latency from downstream<br>
> of a bottleneck link.  If a bulk sender decides to send burstily,<br>
> those bursts will always collect in the dumb queue at the far end and<br>
> delay other traffic.  The only true solution is to install a smart<br>
> queue at the upstream end - but that’s not under your control.<br>
><br>
> You may see some improvement from wholesale reducing the inbound<br>
> bandwidth, to say 10Mbit.  This is especially true given the high<br>
> asymmetry of your connection, which might require dropped acks<br>
> upstream to keep filled downstream - and dropped acks will tend to<br>
> increase burstiness of sending on unpaced senders.<br>
><br>
> You should also try to ensure ECN is fully enabled on your LAN hosts,<br>
> especially the ones running Steam.  This will help to reduce<br>
> retransmissions and loss-recovery cycles.<br>
<br>
Yea, good idea - hopefully steam servers will honor that.<br>
<br>
Plus remember what I said about raw - you have an upstream fail case<br>
with sacks - also see below.<br>
<br>
I just looked at a tcpdump I made last night doing a steam d/l, mainly<br>
to see if I got servers in the list from the steam link posted, I did.<br>
<br>
The other stand out thing is there are far more sacks than I would<br>
normally expect to see.<br>
<br>
tcpdump -nnr steam2.pcap src host 192.168.0.224 | grep "sack" | wc -l<br>
reading from file steam2.pcap, link-type EN10MB (Ethernet)<br>
28298<br>
<br>
tcpdump -nnr steam2.pcap src host 192.168.0.224 | wc -l<br>
reading from file steam2.pcap, link-type EN10MB (Ethernet)<br>
44094<br>
<br>
incoming count -<br>
<br>
tcpdump -nnr steam2.pcap dst host 192.168.0.224 | wc -l<br>
reading from file steam2.pcap, link-type EN10MB (Ethernet)<br>
59319<br>
<br>
That's a crazy amount especially as being in recovery means ack per packet.<br>
<br>
My connection is quite different from the OPs of course, ptm 66 meg sync<br>
with cake at 60mbit for this test and the pcap was only over 12 seconds.<br>
The servers are only 8ms away from me, 5 connections.<br>
<br>
I wonder if they are using bbr or something.<br>
_______________________________________________<br>
Cake mailing list<br>
<a href="mailto:Cake@lists.bufferbloat.net" target="_blank">Cake@lists.bufferbloat.net</a><br>
<a href="https://lists.bufferbloat.net/listinfo/cake" rel="noreferrer" target="_blank">https://lists.bufferbloat.net/listinfo/cake</a><br>
</blockquote></div>