Forum Discussion

karthik_49280's avatar
karthik_49280
Icon for Nimbostratus rankNimbostratus
Dec 15, 2011

Load balancing in f5 is not working as expected

Hi Everyone,

 

We use F5 load balancer placed between the Web Server and the app servers. So, the request from web servers are distributed across both the nodes of the app servers. We use *Round Robin* technique to distribute the load. If the app in one app server goes down, then the traffic is re-directed to another node.

 

The issue that we are facing is, if we bring back the app in the dead server and make it up and running, the load is not distributed to both the app servers unless and until the load balancer is restarted. Could you please help to fix this issue ?

 

 

 

Regards,

 

Karthik

 

4 Replies

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    I suspect you have persistence enabled and the timeout is long enough that the session never expires, and thus the web server continues to hit the web logic server that the web server has a 'session' with.

     

     

    There's a couple of remedies, but if you wish the sessions to move back to the original web logic server, you'll have to use an iRUle to select the pool member and over-ride what the LTM would do from your config.

     

     

    H
  • Hi Hamish,

     

    Thank you for the response. Yes, we have persistence enabled. I will check with my team on your options and get back to you.

     

     

     

    Regards,

     

    Karthik

     

  • Hi Hamish,

     

    I checked our config and notice that there is a 60 seconds timeout value. I'm also wondering, how the load is equally distributed when we restart the SLB and both the app servers.

     

    Please suggest other alternatives.

     

     

  • Hamish's avatar
    Hamish
    Icon for Cirrocumulus rankCirrocumulus
    Do you need persistence? If not, turn it off. If you do, then for a rolls-royce solution you need an iRule that tracks the sessions by pool member and notes when they move to the 'standby' unit and moves them back.

     

     

    Or track persistence by JSESSIONID. Then a new JSESSIONID will have a chance of being balanced back to the pool member that just came up. I'd probably switch to least connections too... Assuming pretty much all connections are equal. Or dynamic ratio and feed the ratio back from the web logic server itself via iControl.

     

     

    H