Forum Discussion

rado_74536's avatar
rado_74536
Historic F5 Account
May 12, 2011

how multiple cpu are handled in "iRules Runtime Calculator" document

Hi iRule Team,

 

I have a question to the "iRules Runtime Calculator" (*)

 

http://devcentral.f5.com/Tutorials/TechTips/tabid/63/articleType/ArticleView/articleId/123/iRules-Optimization-101--05--Evaluating-iRule-Performance.aspx

 

My customer had an irule that work in v9 and the performance was acceptable. After we migrated to v10.2.0 we faced a performance issue with the command (1). We could be able to improve the performance by rewriting it to (2).

 

1) set ppass [ class get -nocase ProxyPass $query_value]

 

2) set ppass [ class search -element ProxyPass equals [string tolower $query_value]]

 

We have now couple of questions in regards to (*).

 

1) When using the iRules Runtime Calculator Excel sheet provided by F5, could we multiply the results by 4 when we have 4 CPU devices? In the Excel sheet only the CPU cycles could be filled in, not the CPU count.

 

2) The results in the "Max number of requests" table refer to the HTTP requests/sec or to the Active connections? In case we have Max 12000 HTTP request on the production box and the results we got in the sheet are average 21000 requests, are we save to use the iRule even with ASM enabled?

 

FYI, we have still a case at Support in regards to he performance issue: C812254.

 

Looking forward

 

Rado

 

 

2 Replies

  • rado_74536's avatar
    rado_74536
    Historic F5 Account
    There seems to be something wrong with text formatting. Hopefully this looks better.

     

     

    Hi iRule Team,

     

     

    I have a question to the "iRules Runtime Calculator" (*)

     

     

    http://devcentral.f5.com/Tutorials/TechTips/tabid/63/articleType/ArticleView/articleId/123/iRules-Optimization-101--05--Evaluating-iRule-Performance.aspx

     

     

    My customer had an irule that work in v9 and the performance was acceptable. After we migrated to v10.2.0 we faced a performance issue with the command (1). We could be able to improve the performance by rewriting it to (2).

     

     

    1) set ppass [ class get -nocase ProxyPass $query_value]

     

    2) set ppass [ class search -element ProxyPass equals [string tolower $query_value]]

     

     

    We have now couple of questions in regards to (*).

     

     

    1) When using the iRules Runtime Calculator Excel sheet provided by F5, could we multiply the results by 4 when we have 4 CPU devices? In the Excel sheet only the CPU cycles could be filled in, not the CPU count.

     

     

    2) The results in the "Max number of requests" table refer to the HTTP requests/sec or to the Active connections? In case we have Max 12000 HTTP request on the production box and the results we got in the sheet are average 21000 requests, are we save to use the iRule even with ASM enabled?

     

     

    FYI, we have still a case at Support in regards to he performance issue: C812254.

     

     

    Looking forward

     

    Rado

     

     

  • Hi Rado,

     

     

    After we migrated to v10.2.0 we faced a performance issue with the command (1). We could be able to improve the performance by rewriting it to (2).

     

     

    class get is retrieving the entire datagroup as a TCL list whereas class search is only returning a single record from the datagroup. I would expect class get to be a lot less efficient than class search. I'm not sure where you got that 'class get' command as i don't see it in the ProxyPassV10 page:

     

     

    http://devcentral.f5.com/wiki/default.aspx/iRules/proxypassv10

     

     

    Your option of using class search should be more efficient as it's using the class command's native search functionality and only returning one record.

     

     

    When using the iRules Runtime Calculator Excel sheet provided by F5, could we multiply the results by 4 when we have 4 CPU devices? In the Excel sheet only the CPU cycles could be filled in, not the CPU count.

     

     

    The iRule runtime calculator could use an update now that many platforms support CMP. I think you can roughly multiply the max executions by the number of CPU (or CPU cores) you have.

     

     

    The results in the "Max number of requests" table refer to the HTTP requests/sec or to the Active connections?

     

     

    That should be HTTP requests per second.

     

     

    are we safe to use the iRule even with ASM enabled?

     

     

    That's hard to say. An ASM policy can be very lightweight or very heavy. Similarly with an iRule. I would suggest doing performance testing with the customer's expected load and configuration to test the two in combination.

     

     

    Aaron