Todo #506

Bring back unequal route-to balancing

Added by Chris Buechler about 4 years ago. Updated almost 4 years ago.

Status:Resolved Start date:04/13/2010
Priority:Normal Due date:
Assignee:- % Done:

0%

Category:Multi-WAN
Target version:2.0
Affected version:2.0 Affected Architecture:

Description

In 1.2.x, users frequently add an interface to load balancer pools multiple times to unequally load balance traffic. 2.0 has no equivalent, which is a major regression in functionality for many users.

Associated revisions

Revision 7bed8222
Added by Ermal Luçi almost 4 years ago

Ticket #506. Correctly save dynamic gateways extra parameters.

History

#2 Updated by Jim P almost 4 years ago

  • Status changed from Feedback to New

This seems to work correctly for static gateways, and copies of dynamic gateways, but does not work for actual dynamic gateway entries.

The field doesn't save its value properly.

#3 Updated by Ermal Luçi almost 4 years ago

  • Status changed from New to Feedback

#4 Updated by Jim P almost 4 years ago

This is working great for me now.
I set a weight of 1 on my DSL (PPPoE, 3Mbit), and 3 on cable (DHCP, 10Mbit), and I am seeing a 3:1 ratio of connection balancing, even with dynamic gateways.

More testing by others with different WAN gateway setups may be helpful, but in my case it's good.

#5 Updated by Jim P almost 4 years ago

And I'm not sure if we'd want to keep this ticket open or start a new one for the upgrade code to migrate from the old style to this, it could get a bit involved.

#6 Updated by Jim P almost 4 years ago

A quick before-and-after from one scenario, load balanced WAN and OPT1 where WAN was weighted 3 in the old style.

Before:

<load_balancer>
    <lbpool>
        <type>gateway</type>
        <behaviour>balance</behaviour>
        <monitorip/>
        <name>LoadBalance</name>
        <desc>Balance Load between WAN and OPT1</desc>
        <port/>
        <servers>wan|x.x.x.x</servers>
        <servers>wan|x.x.x.x</servers>
        <servers>wan|x.x.x.x</servers>
        <servers>opt1|y.y.y.y</servers>
        <monitor/>
    </lbpool>
</load_balancer>

After

<gateways>
    <gateway_group>
        <name>LoadBalance</name>
        <item>WAN|1</item>
        <item>OPT1|1</item>
        <trigger>downlosslatency</trigger>
        <descr>Balance Load between WAN and OPT1</descr>
    </gateway_group>
    <gateway_item>
        <interface>wan</interface>
        <gateway>dynamic</gateway>
        <name>WAN</name>
        <weight>3</weight>
        <descr>WAN gateway</descr>
        <monitor>x.x.x.x</monitor>
    </gateway_item>
    <gateway_item>
        <interface>opt1</interface>
        <gateway>dynamic</gateway>
        <name>OPT1</name>
        <weight>1</weight>
        <descr>OPT1 gateway</descr>
        <monitor>y.y.y.y</monitor>
        <defaultgw/>
    </gateway_item>
</gateways>

#7 Updated by Seth Mos almost 4 years ago

  • Status changed from Feedback to Resolved

Better not go down the upgrade route for the weight. A lot of users have multiple loadbalancer pools, which means we have no idea which interface count from which pool we should use for the weight.

This means we can not reliably and predictably upgrade the configuration. Even without the weight we get reliable connectivity and at that point it's easy to change the weight of a gateway.

#8 Updated by Jim P almost 4 years ago

Fair enough, since the original method wasn't really "official" anyhow. We may just want to make a note of this in the upgrade notes for 2.0 when the time comes.

Also available in: Atom PDF