[Bloat] Difference between codel and fq_codel?
Jonathan Morton
chromatix99 at gmail.com
Fri Apr 8 15:36:10 EDT 2016
> On 3 Feb, 2016, at 22:09, Rick Jones <rick.jones2 at hpe.com> wrote:
>
> On 02/03/2016 11:22 AM, John Klimek wrote:
>> I'm currently using pfaense which only supports codel and not
>> fq_codel. Is there a big difference between them? Is it worth
>> looking into using a different router?
>
> My simplistic understanding is fq_codel creates several/many different queues, spreading flows across those queues and applying codel on each queue.
There *is* a big difference between fq_codel and plain codel. Simply put, the “fq” part of fq_codel is capable of mitigating inter-flow induced latency much more reliably than plain codel can. Codel in itself manages only intra-flow induced latency.
Fq_codel maintains a separate codel instance per queue, so it also does a better job of applying the correct amount of congestion feedback to each flow, rather than a blanket amount over all traffic using the link.
The difference is particularly marked when you are dealing with congestion-unresponsive traffic (which codel is inherently poor at managing), but is measurable and even noticeable even with standard TCP flows.
- Jonathan Morton
More information about the Bloat
mailing list