Forum Discussion

Moe_Jartin's avatar
Aug 24, 2010

Datagroup 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

  • 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.
  • 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
  • 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_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Data 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
  • 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