Forum Discussion
Moe_Jartin
Cirrus
Aug 24, 2010Datagroup Limitations
Just a quick question. What should I expect the limitations on the number of entries in a datagroup list. It will be used for redirecting and the format will be:
/requested/uri1 /redirect/uri1
/requested/uri2 /redirect/uri2
Both the key string and the redirect string will be variable in length. How will this affect the performance of the website this irule is attached to if the datagroup has several thousand entries in it? What kind of latency will this introduce if any?
TIA,
Joe Martin
5 Replies
- Chris_Miller
Altostratus
Depends on the box you're using and how efficient your iRule is...DGs can definitely handle thousands of entries, but if your redirect logic is that simple, you might be able to do it more efficiently. - Moe_Jartin
Cirrus
Chris,
This is on a 6400, on a VIP that sees several million hits per day. This DG may be anywhere between several thousand up to around 250,000 lines. As far as the irule goes, I was planning to use something like this from the findclass examples from the irule wiki:
when HTTP_REQUEST {
set location [findclass [HTTP::uri] $::URIredirects " "]
if { $location ne "" }
HTTP::redirect $location
}
}
If there is a more efficient way please let me know. Thanks.
Joe - Chris_Miller
Altostratus
Are you on 9.x or 10.x?
You can probably avoid setting the variable by doing an if statement for the URI existing in the DG...definitely want to get rid of the $:: preceding the DG so you can take advantage of CMP. - Colin_Walker_12Historic F5 AccountData Groups can handle many thousand entries comfortably. The overhead is really in how you're accessing them, and as Chris said this can be much more efficient in v10 and above. If you let us know what version you're running we can help you get an efficient query set up and you can do some capacity testing.
Colin - Moe_Jartin
Cirrus
Colin and Chris,
Thanks for the help. I am running 10.0.1 on a 6400. Are the class commands in 10.x more efficient than the matchclass and findclass comaands in 9x? Or are you guys thinking of something else? This will be attached to a VIP that receives a few million hits per day so i definitely need it to be as efficient as possible. Also, I am trying to think of a way to minimize the frequency at which it will be run, rather than EVERY request to the VIP. But I just don't see a way to do that. Thanks again.
Joe
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
