Forum Discussion
ranshe_75308
Oct 13, 2011Nimbostratus
URI based persistence with limitations (NB)
Hi,
I have a pool of servers delivering content, and I'd like to set persistence based on URI.
My fear is, however, that if I have a big "hit" (e.g. new piece of content lots of folks are af...
c_p_i_o_17707
Oct 13, 2011Historic F5 Account
To answer your 2nd question first, AFAIK, this is not a current built-in feature in the BIG-IP.
If it OK for a request to go to a different server during heavy load, then why do you need persistence? Clearly if the content available on different servers is equal, then persistence is not necessary.
You didn't mention what sort of persistence you are using and that may make a difference to the answer.
Figuring out the amount of calls to a specific server at a given time is tricky business - especially given the fact that most new platforms have more than one TMM running on the box.
I could see using the "table" command to keep counters and increment/decrement them appropriately.
Now, when the amount connections to a particular pool member reaches an appropriate threshold, you can do a "persist delete" (if using source persistence - for example) or do a HTTP::header delete (if using cookie persistence). This is followed by a LB::reselect to select a different pool member. Of course you now have to add protections to prevent the other pool members from getting saturated.
As you can see, this iRule may start getting complex fast.
Another solution you may want to consider is the use of "priority groups" on pool members in conjunction with "connection limits". There is a pool member setting that lets you control what to do with "persist connections" if a pool member is already at the configured limit.
Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects