Forum Discussion

Bloitus_10535's avatar
Bloitus_10535
Icon for Nimbostratus rankNimbostratus
Jul 14, 2011

Persistence Conundrum

Good Afternoon All,

 

 

First of all hello! Second of all, i'm attempting to configure a BIG IP LTM to balance both an online web pool and offline processing workflow pool, on a single subnet.

 

 

 

Here is where i'm up too...

 

 

 

We have one VS with multiple pool members for the http web traffic using cookie (Insert) persistence (with 30min timeout). These online pool members pass on processing of http requests to on workflow VS and pool by passing the data (non http data on port 1099) to the VS IP address. Persistence on the workflow VS is set as source affinity with default timeout. The problem i'm seeing is that only one node in the workflow pool appears to process all the requests and i can't figure out if its due to the persistence type or if its because the F5 thinks the requests are coming from the same source (the online VS IP)...

 

 

 

Any ideas what could be happening here or what persistence type i should be using for passing the data from online to workflow VS.

 

 

 

I think thats all :)

 

 

 

Regards

 

Bloitus

 

  • Hi Bloitus,

     

    It would help if you can post your VIP and Pool configuration. That being said are you using SNAT somewhere in this configuration?

     

     

    Thanks,

     

    Bhattman
  • Hi Bhattman,

     

     

    Hope this is what you are after...

     

     

    Web Virtual Server configuration and properties:

     

    Name: Dev-WebTest3-VS

     

    Destination Type: host

     

    IP Address: 192.168.12.132

     

    Service Port: 80

     

    Type: standard

     

    Protocol: TCP

     

    HTTP profile: http (this is a default profile)

     

    Address Translation: Enabled

     

    Port Translations: Enabled

     

    SNAT Pool: AutoMap (to answer your Snat question)

     

     

    Default Persistence profile: Cookie_Test

     

     

    NB:Cookie_Test Profile is a persistence profile with cookie method of http cookie insert and a expiration of 30 mins.

     

     

    Web Pool Config and properties:

     

    Name: Dev-WebTest3-Pool

     

    Allow SNAT: Yes

     

    Allow NAT: Yes

     

    Load Balancing Method: Round Robin

     

    Web Pool Members:

     

    Member 1...

     

    IP address: 192.168.12.122

     

    Service port: 80

     

     

    Member2...

     

    IP address: 192.168.12.123

     

    Service Port: 80

     

     

    Workflow Virtual Server configuration and properties:

     

    Name: Dev-WorkflowTest1-VS

     

    Destination Type: Host

     

    IP Address: 192.168.12.140

     

    Service Port: 1099

     

    Type: Standard

     

    Protocol: TCP

     

    Address Translation: Enabled

     

    Port Translation: Enabled

     

    SNAT Pool: AutoMap

     

     

    Default persistence profile: Source_3600 (**********this has me thinking, perhaps in our tests we weren't waiting enough time for the time out to expire)

     

     

    NB: Source_3600 is a source affinity persistence profile with a time of of 3600 seconds.

     

     

    Workflow Pool Config and Properties

     

    Name: Dev-WorkflowTest1-Pool1

     

    Allow SNAT: Yes

     

    Allow NAT: Yes

     

    Load Balancing Method: Round Robin

     

    Workflow Pool Members:

     

    Member 1...

     

    IP address: 192.168.12.139

     

    Service Port: 1099

     

     

    Member 2...

     

    IP address: 192.168.12.235

     

    Service port: 1099

     

     

    ------------------------------------------------------

     

     

    I think that is everything! I'm going to retest with a smaller timeout on the workflow persistence profile.

     

     

     

     

     

  • Well that was it... basically member 2 in the workflow pool was offline in a proceeding test meaning that source persistance was pushing all data to member 1 and continued to do so even when member 2 came back online. After waiting over an hour test worked as originally planned.

     

     

    quick question though... is there a way of reseting the persistance on a pool purely for testing purposes instead of having to wait for the timeout?

     

     

  • Sure, you can use:

     

     

    b persist VS_NAME delete

     

     

    See 'b persist help' for details.

     

     

    Aaron
  • Hi Bloitus,

     

    Since you have AutoSNAT with source affinity persistence on the workflow vip and pool you are basically going to see one connection gravitate towards a particular node.

     

     

    I believe the easiest method to load balance them is to simply not have them directly balanced by the F5 such that one web server makes the requests directly to workflow node 1 and the other to workflow node 2. They would be indirectly balanced if that is all the workflow servers see. However, I am not sure if this is what you are looking for.

     

     

    Let us know if you ever thought of going direct?

     

     

    Bhattman

     

     

  • Hi Bhattman,

     

     

    Yes i we have tested going direct from onlines to workflows which worked as expected... in our tests we were attempting to see if there was an impact on the application by routing the traffic via the LTM is this way. Effectively we would achieve the same thing by going direct however there are benefits for using a workflow pool which could be more beneficial in the long run (such as we would be able to add/remove members to the pool for maintainance without having to stop the application or scale up the number of workflow members should there be a issue with load in production).

     

     

    Thanks for the assistance all!