Forum Discussion

Peter_Z's avatar
Peter_Z
Icon for Cirrus rankCirrus
Mar 12, 2013

Redirecting 20 000 URLs - Performance impact?

Hello,

 

we had a request from our customer to configure a redirect for approx. 850 URLs (request starting with specified path, but not anything else) on the BIG-IP LTM. We're using iRule (see below) and Data Group referencing external text file. Now the customer is asking what would be the performance impact on the BIG-IP if we extend the URI list to about 20 000.

 

Does anybody know if external data group with 20 000 records will have any performance impact on the BIG-IP? We're using BIG-IP 11000s.

 

iRule we are using now (true dns names/paths were replaced) :

 

 

when HTTP_REQUEST {

 

set PATH [string tolower [HTTP::path]]

 

if { [HTTP::host] equals "oldserver" } {

 

switch [HTTP::uri] {

 

"/default.aspx" { HTTP::redirect "" }

 

"/" { HTTP::redirect "" }

 

"/membership.aspx" { HTTP::redirect "" }

 

"/pages/findareas.aspx" { HTTP::redirect "" }

 

"/globalareas.aspx" { HTTP::redirect "" }

 

"/groupareas.aspx" { HTTP::redirect "" }

 

}

 

if { !($PATH ends_with "/") } {

 

set PATH $PATH/

 

}

 

if { [class match $PATH contains redirect_datagroup] } {

 

HTTP::redirect "]"

 

}

 

}

 

}

 

 

 

1 Reply

  • Hi Peter,

     

     

    I have personally only seen External Data Groups edging up to the 10K mark, but not exceeding it. I haven't heard of any limitation being reached but you might want to open up a case with F5 and see what they say (I highly suspect that they will tell you that any limitations will depend on the amount of load on the box that your putting it on rather than a Data Group content limit), then test the performance of the iRule.

     

     

    Here is an article that lightly touches on the limitations: Writing iRules.

     

     

    Creating data groups

     

    When using the class command within an iRule, you can specify any of three types of data groups:

     

    Addresses data group - A collection of IP addresses

     

    String data group - A collection of strings, such as *.jpg

     

    Integer data group - A collection of numeric values

     

    The following sections describe these data group types.

     

    Note: The size of a data group is limited by system resources only.

     

     

     

    I would still suggest asking F5 directly for a definitive answer. (If they give you an answer other than what is listed in this article please share it with us. I'd certainly like to know what they say if it is something different.).

     

     

    Hope this helps.