Forum Discussion

benoit_9199's avatar
benoit_9199
Icon for Nimbostratus rankNimbostratus
Mar 03, 2009

switching between virtual-host based persistence and per session LB using virtual host value

Hi, i've got two question.

I'm new to F5 device and came from the haproxy world (http://haproxy.org/) and i've two questions.

First my LB system has two backend persisting scenarios:

The first one is for small websites, where all request from any clients to the same virtual host should be

processed by the same backend server (mostly to optimize application server cache use). The page processing

time is cut in half or more with this setup for thoses sites.

So i had patched haproxy for this to work, and i'm using a iRule to mimic the setup with the F5 device:

(not sure it's the best way to do this however)

 
 when HTTP_REQUEST { 
 if { [HTTP::host] != ""} { 
 persist uie [HTTP::host] 
 } 
 } 
 

The second one is a simple load balancing setup used for some virtual host that are to 'big' to be handled on one backend.

As of now (haproxy) there is only one entry point, and based on the virtual host value i redirect to two backend containing the same pool member but with two different persistence setup.

I can't seem to find a way to do this with the F5, except by creating two virtual serveur with different IP adresses and changing the dns setup of the associated domains

Any though on theses ?

1 Reply

  • I think you there are several ways to accomplish this but here is an untested example:

     
     when HTTP_REQUEST { 
        if { [ HTTP::host] != "" } { 
           persist uie [HTTP::host] 1800 } { 
          else 
         { 
         persist    
         } 
     } 
     

    Hope this helps

    CB