Modified codel limiter setup.
I made a few changes on the codel setup shown in the following video. https://youtu.be/o8nL81DzTlU?t=6m15s
I changed the following. There is no need to create a Queue entry for the upload and download this is redundant to create a second when the limiter creates one for you. When you create the firewall rule select the limiters, and instead of a Pass rule use a Match rule. The pass rule makes it a firewall rule and disables any block rules set on outbound traffic. Match just sends data through the limiter. I hope this helps anyone that noticed their firewall rules messed up. My BufferBloat went from an F to B which is a major improvement. Also a simple start for queue length is 5 times the bandwidth in megabits. So a 25Mb connection would have a queue length of 125 and can be adjusted accordingly.
Update: The queue length only made a very minor improvement. You can leave the queue length at the default in most situations. Changes you should make is with quantum and limit. In the following script gives some recommended settings https://github.com/dtaht/deBloat/blob/master/src/debloat.sh . After the changes CoDel was more responsive and overall worked better. The recommendations for quantum is 3000 for 100M, 1514 for 10M connection, and 500 for low latency if desired. A limit setting of 1200 for 100M and 800 or 10M. And a flows setting of 2048 as an optional setting.