[Bloat] Tuning fq_codel: are there more best practices for slow connections? (<1mbit)

Kathleen Nichols nichols at pollere.com
Thu Nov 2 12:33:05 EDT 2017


On 11/2/17 1:25 AM, Sebastian Moeller wrote:
> Hi Y.
> 
> 
>> On Nov 2, 2017, at 07:42, Y <intruder_tkyf at yahoo.fr> wrote:
>>
>> hi.
>>
>> My connection is 810kbps( <= 1Mbps).
>>
>> This is my setting For Fq_codel,
>> quantum=300
>>
>> target=20ms
>> interval=400ms
>>
>> MTU=1478 (for PPPoA)
>> I cannot compare well. But A Latency is around 14ms-40ms.
> 
> 	Under full saturation in theory you would expect the average latency to equal the sum of upstream target and downstream target (which in your case would be 20 + ???) in reality I often see something like 1.5 to 2 times the expected value (but I have never inquired any deeper, so that might be a measuring artifact)...

An MTU packet would cause 14.6ms of delay. To cause a codel drop, you'd
need to have a queue of more than one packet hang around for 400ms. I
would suspect if you looked at the dynamics of the delay you'll see it
going up and down and probably averaging to something less than two
packet times. Delay vs time is probably going to be oscillatory.

Is the unloaded RTT on the order of 2-300 ms?
> 
> Best Regards
> 
> 
>>
>> Yutaka.
>>
>> On 2017年11月02日 15:01, cloneman wrote:
>>> I'm trying to gather advice for people stuck on older connections. It appears that having dedictated /micromanged tc classes greatly outperforms the "no knobs" fq_codel approach for connections with  slow upload speed.
>>>
>>> When running a single file upload @350kbps , I've observed the competing ICMP traffic quickly begin to drop (fq_codel) or be delayed considerably ( under sfq). From reading the tuning best practices page is not optimized for this scenario. (<2.5mbps)
>>> (https://www.bufferbloat.net/projects/codel/wiki/Best_practices_for_benchmarking_Codel_and_FQ_Codel/) fq_codel 
>>>
>>> Of particular concern is that a no-knobs SFQ works better for me than an untuned codel ( more delay but much less loss for small flows). People just flipping the fq_codel button on their router at these low speeds could be doing themselves a disservice.
>>>
>>> I've toyed with increasing the target and this does solve the excessive drops. I haven't played with limit and quantum all that much. 
>>>
>>> My go-to solution for this would be different classes, a.k.a. traditional QoS. But ,  wouldn't it be possible to tune fq_codel punish the large flows 'properly' for this very low bandwidth scenario? Surely <1kb ICMP packets can squeeze through properly without being dropped if there is 350kbps available, if the competing flow is managed correctly.
>>>
>>> I could create a class filter by packet length, thereby moving ICMP/VoIP to its own tc class, but  this goes against "no knobs" it seems like I'm re-inventing the wheel of fair queuing - shouldn't the smallest flows never be delayed/dropped automatically?
>>>
>>> Lowering Quantum below 1500 is confusing, serving a fractional packet in a time interval?
>>>
>>> Is there real value in tuning fq_codel for these connections or should people migrate to something else like nfq_codel?
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> Bloat mailing list
>>>
>>> Bloat at lists.bufferbloat.net
>>> https://lists.bufferbloat.net/listinfo/bloat
>>
>> _______________________________________________
>> Bloat mailing list
>> Bloat at lists.bufferbloat.net
>> https://lists.bufferbloat.net/listinfo/bloat
> 
> _______________________________________________
> Bloat mailing list
> Bloat at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/bloat
> 



More information about the Bloat mailing list