Forum Discussion

René_Posthumus_'s avatar
René_Posthumus_
Icon for Nimbostratus rankNimbostratus
Dec 12, 2017

Content Switching Load Balancing issue

Hi all,

 

I have an issue with our test setup from where we will build the production configuration. I hope someone can help.

 

The setup is as following:

 

  • Client >>
    • Virtual (SSL offload)
    • iRule with Datagroup that maps request host to Virtual
    • Virtual >> Round Robin Pool with 2 members on port 80

I created the first virtual to offload all SSL for the sake of managebility because i need to host 300+ sites on their own virtuals to be able to serve different maintenance pages and profiles.

 

Using an iRule and a datagroup i'm able to direct requests to a virtual matching the host header in the client request:

 

Code 

when HTTP_REQUEST {
if { [class match [string tolower [HTTP::host]] equals domain_map_ot] } {
    virtual [class match -value [string tolower [HTTP::host]] equals domain_map_ot]
}

That works fine and traffic arrives at the second virtual server.

 

BUT......

 

The pool attached to the second virtual is setup with Round Robin. But balancing goes wrong and maybe 20 request go to the first, 1 to the second, 30 request to the first, 3 to the second... and so on (estimated numbers).

 

The only way to get is to work as expected (Round Robin), is attaching a OneConnect profile to the second virtual. But there's where i don't get it anymore. Why would i need this and why doen't it work without the OneConnect profile ?

 

1 Reply

  • Are you sure the issue is from F5 configuration and not on server configuration?

     

    I already had a customer with such issue...

     

    he had 2 load balanced servers and added 2 new servers to the pool.

     

    the 2 new servers received only few requests. This was because new servers were configured with HTTP/1.0 and not HTTP/1.1.

     

    • without oneconnect profile, all requests from the same TCP connections are sent to the same server.
    • with oneconnect profile, each request is load balanced.

    so the profile can hide the real problem and make you think the issue is in BigIP configuration.