• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

How to dynamically balance my connection according to the usage?

Scheduled Pinned Locked Moved Traffic Shaping
11 Posts 6 Posters 1.4k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M
    Morad__T
    last edited by Morad__T Apr 16, 2019, 1:16 AM Apr 16, 2019, 12:36 AM

    Hi everyone

    I have just sat up my pfSense machine yesterday in an effort to mainly get rid of bufferbloat and optimize my brother's and I gaming experience and to dynamically allocate bandwidth according to the usage
    My connection is 16 Mbps Down 1 Mbps Up (I am hopefully upgrading soon to 25 or 50 Mbps Down with 2.5 or 5 Mbps Up respectively)
    Total users of my family are 5 (up to 8 ,but with just 3 extra devices if we have my relatives over) with each having a phone and a laptop or PC, pretty standard stuff
    I tried googling the matter but couldn't really understand what to do (This is my first ever project of that kind and just getting the modem to work correctly took me 2 days of reading, trying and troubleshooting)
    a lot of users refer to someone here named foxale08 who looks to have made a guide but it is from 2013 and I don't know if it still applies (I have everything updated to even today's update, 2.4.4v2)

    I am also open to any tips and suggestions of config settings and or useful packages to install
    Thanks in advance

    1 Reply Last reply Reply Quote 0
    • K
      KOM
      last edited by Apr 16, 2019, 1:50 PM

      Traffic-shaping is probably the hardest part of pfSense to figure out. I would start here:

      Traffic Shaping Basics with PRIQ on pfSense

      How To Solve pfsense Bufferbloat With A CodelQ / FQ_Codel Limiter in 2.4.4

      1 Reply Last reply Reply Quote 3
      • A
        akuma1x
        last edited by akuma1x Apr 17, 2019, 2:19 PM Apr 17, 2019, 2:57 AM

        I hate to say it, because I really enjoy using pfsense and supporting the project, but... You might be better off using another router product that is specifically suited to traffic shaping and optimizing your available internet connection.

        IQrouter is one, the UniFi Edge Routers are good, and there’s the Turris Omnia box running OpenWRT. I haven’t used any of these myself, just heard about and researched them online. From what I understand, the IQrouter is stupid simple to use.

        Here's some links:

        http://evenroute.com/iqrouter
        https://www.ui.com/products/#edgemax
        https://www.turris.cz/en/turris-omnia/

        Jeff

        M 1 Reply Last reply Apr 18, 2019, 12:09 PM Reply Quote 1
        • M
          Morad__T @akuma1x
          last edited by Apr 18, 2019, 12:09 PM

          @akuma1x
          I was afraid of that and started finding other people with similar opinions
          The problem is all these routers aren't sold in my region and trying to import them wil make their costs ridiculously high and also I want to use pfSense as well (especially after I spend two days troubleshooting why my WAN wasn't picking up without any guide or clue on what to do or try)
          Thanks for the input nevertheless

          T 1 Reply Last reply Apr 19, 2019, 6:13 AM Reply Quote 0
          • T
            tomashk @Morad__T
            last edited by tomashk Apr 19, 2019, 6:14 AM Apr 19, 2019, 6:13 AM

            @Morad__T
            Give a try to fq_codel - instructions from second link mentioned by @KOM. I can't guarantee that will work for you, but after configuring it, it should just work. Unfortunately it is set for whole network (there is no easy way to set it for specific users/IP), but by design it should get rid of bufferbloat and improve "the feel" of your network. At least that is the way it works for me. It got so much better that I don't need to fine tune it more for specific users.

            But having only 1Mbps up you have to remember about taget parameter mentioned in configuration instructions. It is set to 5ms by default, but for you it should be 15ms as mentioned in documentation

            The default target value is 5 ms, but this value should be tuned to be at least the transmission time of a single MTU-sized packet at the prevalent egress link speed (which for e.g. 1Mbps and MTU 1500 is ~15ms), to prevent CoDel from being too aggressive at low bandwidths. It should otherwise be set to on the order of 5-10% of the configured interval.

            M 1 Reply Last reply Apr 19, 2019, 9:01 PM Reply Quote 1
            • M
              Morad__T @tomashk
              last edited by Apr 19, 2019, 9:01 PM

              @tomashk Thank you very much
              i have been using it already for about 2 days now and yes definitely feels better, though i don't understand how it works exactly
              I thought it was what I needed but after initiating two steam downloads simultaneously almost all the bandwidth was allocated towards my PC every time, which is not what I want
              I will tweak it out as you mentioned
              And can you link me these documents/instructions please?

              T 1 Reply Last reply Apr 20, 2019, 9:23 AM Reply Quote 0
              • T
                tomashk @Morad__T
                last edited by Apr 20, 2019, 9:23 AM

                @Morad__T said in How to dynamically balance my connection according to the usage?:

                I will tweak it out as you mentioned
                And can you link me these documents/instructions please?

                Instruction about target can be found in FQ-CoDel RFC - RFC 8290

                1 Reply Last reply Reply Quote 1
                • T
                  tman222
                  last edited by Apr 23, 2019, 9:30 PM

                  A couple other options for you to consider which may achieve your objectives:

                  1. Setup (bandwidth) limiters and make sure they are applied by IP (e.g. each IP addresses would be limited to x Mbit and no more than that). Please check out this link to the documentation and make sure you read past Creating Limiters where it talks about masks: https://docs.netgate.com/pfsense/en/latest/book/trafficshaper/limiters.html

                  2. Another option would be to setup limiters and then weighted queues underneath them with Codel as your AQM algorithm. For the scheduler I would recommend starting with QFQ (Quick Fair Queuing). When your connection is fully loaded down (utilized) the queues will be limited by their respective weights. For instance, if you had 10Mbit connection with a 10Mbit Limiter and 2 queues each with weight 50, each queue would be limited to 50% of the total 10Mbit bandwidth if the full 10Mbit is being asked for. However, if there is only traffic in one queue and no traffic in the other, that queue will have access to the full 10Mbit. As such, you can think of the weights as essentially the guaranteed bandwidth per queue.

                  A couple more resources:
                  Great YouTube video on traffic shaping: https://www.youtube.com/watch?v=rF46PNid1Mo
                  Documentation on FQ_Codel implementation on FreeBSD: http://caia.swin.edu.au/freebsd/aqm/downloads.html

                  I would also recommend doing a Google search on dummynet to become more familiar with the terms and how it works.
                  Hope this helps.

                  M 1 Reply Last reply Apr 23, 2019, 10:24 PM Reply Quote 1
                  • M
                    Morad__T @tman222
                    last edited by Apr 23, 2019, 10:24 PM

                    @tman222 Thank you so much for the tremendous help
                    I will definitely read through these links and give it a try
                    Really appreciate it

                    1 Reply Last reply Reply Quote 0
                    • F
                      fsr
                      last edited by May 20, 2019, 3:55 PM

                      The thread you're looking for is this one:

                      https://forum.netgate.com/topic/57476/per-ip-traffic-shaping-share-bandwith-evenly-between-ip-addresses

                      That's where foxale08 "shared the magic".

                      M 1 Reply Last reply May 20, 2019, 11:03 PM Reply Quote 1
                      • M
                        Morad__T @fsr
                        last edited by Morad__T May 20, 2019, 11:06 PM May 20, 2019, 11:03 PM

                        @fsr
                        Thanks a lot
                        Really appreciate your help and replying to my thread even a month later
                        Also thanks to whatever algorithm that got you to me

                        1 Reply Last reply Reply Quote 1
                        • First post
                          Last post
                        Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                          This community forum collects and processes your personal information.
                          consent.not_received