This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Load Balancing and how to disable client persistence

Hi all,

we have an ASG 8.x with 1 interface uplink (lets say "Internet") and 1 interface downlink (internal network). We defined a load balancing service (generic tcp port 23500, warehouse system) and a server "group" (the "real servers") with 3 internal servers. The balanced IP address is the external interface of the ASG. Everything is fine, BUT... [:P]

... we can have 1 client (a customers machine) opening a bunch of connections to the balanced (ASG external) IP. The problem is, that the customers machine will open the 1st connection on internal server 1, and all following connections are also opened on server 1. We woud like to balance each connection, regardless of the source IP address, to our 3 internal servers.

We found the "interface persistence" checkbox (where you can also configure some metrics) in the load balancing rule editor. We unchecked this and tried again, but again: Hundreds of single connections from the external machine are all (not) balanced to the internal server 1, the other 2 internal servers are empty.

If we have another customer machine (different source IP) coming to our balanced IP address, this machine will be balanced to internal server 2 - and also: ... stays there, even if this machine also opens hundreds of parallel connections.

Any hints?


This thread was automatically locked due to age.
  • We found the "interface persistence" checkbox

    It sounds like you're in 'Interfaces & Routing >> Interfaces' on the 'Uplink Balancing' tab instead of in 'Network Security >> Server Load Balancing'.  Or???

    Cheers - Bob
  • Hi Bob, thx for your reply.

    No, i am under "Network Security" -> "Server Load Balancing"

    - Create a new LB rule, define service, balanced IP and 3 real servers
    - save the changes
    - edit the LB rule
    - in the edit box, on the right top corner, click the screwdriver/wrench symbol
  • Thanks, I hadn't seen that new option before.  Cool!

    I think the behavior you want would be a feature request.  In Uplink Balancing, if you choose persistence by-Source/by-Destination, the behavior is the same as what you're seeing - all new (I think it's within five minutes, but don't remember exactly) traffic from/to an IP uses one interface.  I don't think the Load Balancer is looking inside the request packets now, so I suspect that it can't know that the connections are separable.

    Does anyone known if it's an issue that Astaro LB is done with NAT, and balancing by connection could cause the connection tracker to overload CPU and RAM?  Or, is it already tracking each connection separately even though all traffic for a specific client is only between two IPs?

    For some services, it seems like LB by connection would make sense though, so I like your idea of being able to choose that option.

    Hopefully, one of the developers will see this and straighten out any misconceptions.

    Cheers - Bob
  • Hi Bob,
    well, no reaction till now [;)]

    I heard from a german distributor that the LB in fact is NOT able to realize the needed behaviour. It seems that there is a hard coded 1 hour client persistence. So this feature is only usable for internet services with a bunch of different client IPs.

    We evaluate now a different product until Astaro/Sophos is implementing some more basic LB functions like the described above, but anyway: Thanks! [:)]