Forum Discussion

pgsmith_120398's avatar
pgsmith_120398
Icon for Nimbostratus rankNimbostratus
Dec 02, 2013

Persistence Settings BMC Remedy

We have put up a BMC Remedy server behind our F5 LTM. I have a few questions about persistence behavior and how we can possibly better configure the persistence settings that Remedy uses to provide a better user experience.

 

We have remedy set up with an LTM VS in front of two IIS web servers. Web traffic is sent to the Tomcat service on the web servers that in turn sends traffic to an application layer LTM VS that sits in front of two separate application servers.

 

I have a few questions mostly regarding the persistence settings for the application tier. On the application tier VS we have set up source address persistence for 50 minutes. All traffic to the application servers will always come from one of the two web servers so all traffic from one web server will stick to an application server for 50 minutes. Each remedy session provides a unique TCP SOAP connection between the tomcat service and the application tier.

 

  1. When a persistence session expires (after 50 minutes) if the web server has an active connection to an application pool member, what will happen to the connection? Will it remain with the current application pool member or will it re-select a pool member effectively breaking connections?
  2. Is there any method that I can use to get a unique identifier, or inject one, into the TCP SOAP traffic to track the individual TCP connections between the tomcat service and the application tier to individually load balance each connection instead of everything from the web server as a whole?

Any assistance would be greatly appreciated!

 

4 Replies

  • Hi

     

    1. An existing TCP session will still work to same server, but a new TCP session will be load-balanced, which means you then have a 50/50 chance of hitting the same server. Also remember the 50mins means 50mins after the F5 last saw traffic from that source ip to that VIP. My recommendation would be don't use source IP - use an http and a oneconnect and a "cookie insert" profile.

       

    2. If all you are after is balancing each TCP connection, then just don't configure source IP persistence on the application layer VIP. Each TCP connection will be individually load-balanced. If you want to individually load-balance HTTP requests, then enable the http and oneconnect profiles. I assume that the application VIP is stateless and so doesn't require persistence from the client to an application server?

       

    • pgsmith_120398's avatar
      pgsmith_120398
      Icon for Nimbostratus rankNimbostratus
      Hey IheartF5, Thanks for the info. I was under the impression after reading the white papers that persistence was started from the beginning of the session and did not extend based off idle time. Is this not the case? All the traffic between the web server and application server is TCP only, its not HTTP so we do not have the option to use Cookie based persistence. We are using cookie based persistence on the web VIP but not the application VIP. If I don't configure some sort of persistence on the application VIP doesn't that mean that, according to your helpful information above, if a connection goes idle for 5 minutes the user will be directed to a new web server? The application layer has a 2 hour idle timeout limit that I need to at least match. The web to application tier is stateful TCP traffic between the web and application tier. However users cannot directly access the application servers, I think that's what you're asking. Basically I have TCP traffic from the web tier to the application tier. Those sessions can sit idle for 2 hours before the application kills them. I need to at least match that. If what you stated above about the persistence being based on idle time not the initial connection time then it would make sense to me to set it to just two hours. I was wondering if there's a way I can load balance each unique TCP connection that's not IP or cookie based.
  • Hi - to be brief - if you are using either no persistence, or source IP persistence, then a given client session (from the web server) will remain on the same application server for the duration of the TCP session, regardless of any idle periods.

     

    My point was about the persistence timeout on the "source address affinity" persistence profile - the default is 180 but it can adjusted - and how that setting can be affect long running/idle sessions.

     

    I think what I am hearing from you is that you only require TCP level persistence which is a default when you don't have a persistence profile (or source IP). I think you do not need to enable any persistence profile at your application tier and you will get the behaviour you want - each TCP session will be balanced separately and will stay on the same server.

     

    • Ofelia_Carter_2's avatar
      Ofelia_Carter_2
      Icon for Nimbostratus rankNimbostratus
      Hello, I am having the same issue as described in this thread. Except TAC suggested I create a persistence profile for the WEB and APP virtual and apply it to teach along with HTTP. Using Source Addr Affinity/source addr It is not working for me. Any other feedback, greatly appreciated. thank you,