For more information regarding the security incident at F5, the actions we are taking to address it, and our ongoing efforts to protect our customers, click here.

Forum Discussion

Puli's avatar
Puli
Icon for Nimbostratus rankNimbostratus
Dec 13, 2011

performance and impact of STREAM Expression

We created a new iRule, which will replace links from one doamin to another in page content.

 

Below is the iRule

 

 

if {[HTTP::header vaule Content-Type] contains "text"}{

 

STREAM::expression {@http://doaminA@http://doaminB@}

 

STREAM::enable

 

}

 

}

 

Need clarification on performance.

 

1) What is the performance impact of using STREAM profile, i understand bigip will look at page content but is it detrimental for the bigip for a website that gets 2 pageviews per seconds. Does it impact bigip ?

 

 

2) Does bigip consume more memory with STREAM processing ?

 

What the impact on memory utilization.

 

The size of the pages mostly ranges from 1-1.5MB

 

 

Would appreciate if anyone is using in production with lot more pageviews.

 

 

Appreciate feedback and comments.

 

thanks,

 

Puli.

 

3 Replies

  • Puli's avatar
    Puli
    Icon for Nimbostratus rankNimbostratus
    Any thoughts ? appreciate any thoughts and feedback.

     

    Our BigIP LTM admin is concerned about performance using the STREAM profile.

     

    Wanted if other people have used it sucessfully without issues.
  • hoolio's avatar
    hoolio
    Icon for Cirrostratus rankCirrostratus
    Hi Puli,

    I haven't done or seen any stream specific performance testing. I've implemented it at a number of customer sites though. I wouldn't add the iRule to a unit which is already at 80 or 90%. But I'd be confident in using it on a lower unit with lower utilization.

    Make sure to disable the stream filter in HTTP_REQUEST in your rule though:

    
    when HTTP_REQUEST {
        Disable the stream filter by default on all requests
       STREAM::disable
    }
    when HTTP_RESPONSE {
        Check if response is text
       if {[HTTP::header value Content-Type] contains "text"}{
    
           Set expression to find/replace and enable the stream filter
          STREAM::expression {@http://domainA@http://domainB@}
          STREAM::enable
       }
    }
    

    If you want to get estimates before putting it into production, you could enable timing on the iRule and test it on a test virtual server or test LTM:

    http://devcentral.f5.com/wiki/iRules.timing.ashx

    Aaron
  • Puli's avatar
    Puli
    Icon for Nimbostratus rankNimbostratus
    thanks very much Aaron. appreciate your time.