Traffic Shaper Slow Download



  • I have what I think is a relatively basic traffic shaper setup. I have one LAN and one WAN interface. I'm using the CBQ scheduler since I don't really need the complexity of HFSC. I would like to stop users from consuming all the bandwidth if other devices need it. But my main concern is prioritizing traffic for games so the latency will remain as low and consistent as possible.

    My shaper settings are as follows:

    WAN parent queue Bandwidth set to 15Mb/s. No queue limit or TBR set.
    -qACK - Priority 6 - Bandwidth 20% - Borrow On
    -qGames - Priority 5 - Bandwidth 30% - Borrow On
    -qOthersHigh - Priority 4 - Bandwidth 25% - Borrow On
    -qDefault - Priority 3 - Bandwidth 15% - Borrow On - Default
    -qOthersLow - Priority 2 - Bandwidth 5% - Borrow On
    -qP2P - Priority 1 - Bandwidth 5% - Borrow On

    LAN parent queue Bandwidth set to 155Mb/s. No queue limit or TBR set.
    -qACK - Priority 6 - Bandwidth 20% - Borrow On
    -qGames - Priority 5 - Bandwidth 30% - Borrow On
    -qOthersHigh - Priority 4 - Bandwidth 25% - Borrow On
    -qDefault - Priority 3 - Bandwidth 15% - Borrow On - Default
    -qOthersLow - Priority 2 - Bandwidth 5% - Borrow On
    -qP2P - Priority 1 - Bandwidth 5% - Borrow On

    I was using this exact configuration when we had a 50/10 Internet connection. It seemed to work well and saturate the links if I was the only one using the Internet. I had the parent queue bandwidth set at 45/8 respectively. I would see around 44/7 consistently on speed tests. Now we have been upgraded to 155/15. If I run a speed test with the shaper turned off I get these results.

    If I turn the shaper on with the above setup and the bandwidth set at 155/15 I get these results. (This test was taken immediately after the one above)

    It's not even close to saturating the download connection. The upload is pretty much spot on though. I experimented with setting my download bandwidth at 100Mb in the shaper and my speed test result gave me about 95Mb down. Which is much closer. Not sure why I'm not able to saturate the full link with the shaper enabled when the connection is more than capable of the speeds. The CPU usage is only around 30-40% when running the test with the traffic shaper enabled.

    I also started getting an error message if I try to lower the WAN or LAN parent queue bandwidth. The error says "The sum of child bandwidth is higher than parent." Which is kind of impossible since the child queues are all percentage based and they equal 100%. I should be able to set the parent bandwidth to any number I want without issue.

    I'm not sure if I am configuring something wrong, or if I'm hitting some limit on CBQ. Is there a different type of shaper I should be using?



  • Do your child queues use Codel or what is their depth? The default is 50, which may not be enough and cause dropped packets which will cause slow down.



  • None of the queues have Codel Active Queue checked. None of the scheduler options are checked for any of them except the default option on the default queues. They also don't have any queue limit specified.



  • Then they're probably only 50. I would recommend just checking Codel in the child queues.



  • I checked Codel active queuing on all of the child queues. The TBR size is left blank on both parent queues. My download is still in the low 120's and upload is ~14.



  • I am not familiar with CBQ, but they way you are using is almost exactly the way I use HFSC. I wonder if you could just set it to HFSC and not change any of your settings. Hopefully someone with more experience/knowledge can chime in.