Forum Discussion

Oz_Ayd_69699's avatar
Oz_Ayd_69699
Icon for Nimbostratus rankNimbostratus
Sep 15, 2006

HTTP::collect - performance issue

I have a simple rule with a basic HTTP:collect statement in the HTTP_REQUEST event. When, the HTTP::collect statement is executed, it takes a considerable amount of time (200+ milliseconds) to fire the HTTP_REQUEST_DATA event. The Web Service request is from a .NET client. If I attach the Auth iRule, this problem disappears. This is very confusing. Any ideas?

 

 

Is there any config recommendations or guidelines for Web Service usage? There is very little doc on this topic, considering the usage of Web Services is increasing.

 

 

Cheers

 

Oz

 

  • bl0ndie_127134's avatar
    bl0ndie_127134
    Historic F5 Account
    Yes you have to be careful with using collect on POST especially if the client issues an Expect: 100-Continue header. In such case, the client is will only send the POST data if it gets a 100 Continue response from the server or if it times out; which explains the 200ms delay on your client.

     

     

    I remeber some one posting a rule that did a TCP::respond with a 100 Continue and stripped the continue headers. This can be tricky because a) you might not know if the server will accept the POST and b) we have seen IIS servers send unsolicited 100 Continue.