[Shibby] MultiWAN load balancing utilized only single interface

Discussion in 'Tomato Firmware' started by Mewa Zeiba, Jan 17, 2017.

  1. Mewa Zeiba

    Mewa Zeiba New Member Member

    Shibby 1.38, E4200; Two lines, load balancing weighted 1:3, between 25/10 DSL and 75/10 Cable;

    1. Speed tests shows max upload of 10, not 20=10+10; max down 75, not 100=25+75
    2. Real-time Bandwidth shows WAN1 traffic=0

    Tried different weights, 0:1, 1:0, 1:1, 1:2, 1:3, 5:12,4:15, same results.

    Is this expected behavior?What other configs to test? How to confirm DualWAN is working?

  2. Mr9v9

    Mr9v9 Serious Server Member

    It really depends on what options you have for your ISP. So one could give you unlimited bandwidth while the other might not. Most would prefer their connections to go through the faster ISP and use the other as a backup.

    Basic> Network
    If you want more connections to go out of the first WAN link there are a couple of ways to do it. First is with “Load Balance Weight”. I’m just setting the 1st link to 2 and 2nd WAN link to 1. You can play with the numbers to try finding your desired balance.

    Advanced> VLAN
    Another place to do load balancing is by pinning a particular host to a particular WAN link.
    For example, I have some traffic I want out of 1 WAN link and some out of another. This way, I can tell my highest traffic hosts to go through WAN1 while some others through WAN2.

    Weight should always attempt to be proportional. In Citrix the formula to figure out the balance is:
    N{w} = (Number of active transactions) * (10000 / weight)

    Suppose Server-1 is assigned a weight of 2, Server-2 is assigned a weight of 3, and Server-3 is assigned a weight of 4. The requests are delivered as follows:

    • Server-3 receives the first request because the server is not handling any active transactions.
      Note: If servers are not handling any active transactions, NetScaler selects them in a round robin manner regardless of the weights assigned to them.

    • Server-3 receives the second, third, fourth, fifth, sixth, and seventh requests because the server has least
      N{w} value.
    • Server-1 receives the eighth request. Because Server-1 and Server-3 have same N{w} value, the NetScaler performs load balancing in a round robin manner.
    • Therefore, Server-3 receives the ninth request.
  3. Mewa Zeiba

    Mewa Zeiba New Member Member

    Given a bit more observations on how my dual wan worked:
    1. Does weights needs to be greatest common denominators? for example, 25 and 75Mbps, does 1:3, 5:15...etc also work exactly the same? Also, will performance also differ (more or less aggressive) given 5:12 or 2:7 and local circumstances.
    2. Is there a time component in Shibby's load balancing? it seemed to rotate specific traffic between two WAN given a fixed time interval.
    3. Does line quality i.e. latency change load balancing?
    4. Does WAN port used changes load balancing? I assume no.

    Last edited: Jan 23, 2017
  4. remlei

    remlei Networkin' Nut Member

    1. I dont know how weight exactly works, but think of it as a 2 lines switching each together, now you think how long does the connection stick to one connection before switching to another one, that's what weight comes in, the higher the weight is, the longer the connection will stick to that connection before switching to another connection. Unfortunately, this doesnt guarantee to utilize the connection of both wan connections, it just blindly switch the connection between intervals.

    2. Yes, it switch in given time interval depends on weight. This is why if you download a file in under HTTP connection (and assuming its a single IP destination) you will feel that the download speed only utilize only the one connection. This is why if you do speedtest.net only one of the connection gets the speedtest. Load balancing works great on multiplie IP connection like p2p/BitTorrent.

    3. Nope, tomato wasnt intelligent enough to switch wan interface depends on latency. I do know that pfsense can do this.

    4. Cant understand what youre trying to tell.
    Mewa Zeiba likes this.
  5. Mewa Zeiba

    Mewa Zeiba New Member Member

    ....that the physical WAN port used shouldn't matter to load balancing.
  6. rs232

    rs232 Network Guru Member

    I have just started to play with MultiWAN. One thing I can add to this topic is:

    On FreshTomato 2019.1 but I guess this applies to Shibby builds a well, as soon as you enable DualWAN regardless of the weight there's a default routing policy added (Advanced/MultiWAN Routing) that select WAN1 as a default output VLAN for LAN router packets. If you remove/disable and your weight is equal for the WANs your LAN traffic will immediately start to load balance. I'm not sure why this was added by default and you would expect the settings in network/basic to take precedence but that's not how it works today.

    @pedro311 @kille72 you might want to remove this default routing policy? ...unless there's something I'm missing out of course.
  7. pedro311

    pedro311 Networkin' Nut Member

    What speedtest did you try, and with what settings?
    Did you try https://speedtest.net with "Connections: Multi"?
  8. zephyrprime

    zephyrprime Network Newbie Member

    That's how it's supposed to work. Multiwan DOES NOT BOND WANS and DOUBLE YOUR SPEED. It just alternates between connections at best. To really see your increase in bandwidth, you must run two copies of the test simultaneously - and maybe from different computers but not sure on that.
    Techie007 likes this.
  9. rs232

    rs232 Network Guru Member

    A good client tool to verify multiwan in general is winMRT (windows) or mrt (linux).
    A great tool in general but specifically way faster and more reactive than traditional tracert/traceroute due to the lower defailt timeout of packets I guess.
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice