Forum Discussion

smoussa_86110's avatar
smoussa_86110
Icon for Nimbostratus rankNimbostratus
May 12, 2008

Take's 3 minutes for F5 to send request to Apache

I am experiencing a strange problem where a page will take exactly 3 minutes to load when going through the F5. When I take the F5 out of the picture, the speed is just fine. Now this page is on another server and in it's own pool so what I did was create a rule that will redirect all traffic with URI /smx to one pool, and that works fine.. speed is great. Now within the same rule, I have everything going to URI /rmx use another pool and I think that's where the problem may be occurring.

 

 

Also, I have one Virtual Server specified and all traffic from both servers are passed through the F5. In that Virtual Server, I have it pointing to a rule with the following information:

 

when HTTP_REQUEST {

 

if {[HTTP::path] contains "/rmx"}{

 

pool rmx_pool

 

}

 

elseif {[HTTP::path] starts_with "/smx"}{

 

pool smx_pool

 

}

 

}

 

 

I am assuming something is timing out before it sends the request to the rmx_pool. I hope I provided enough information here for someone to have an idea about what may need to be done. Thanks in advance for your help.

3 Replies

  • Steve_Brown_882's avatar
    Steve_Brown_882
    Historic F5 Account
    This is probably not the answer you are looking for, but having worked through performance issues many times I would suggest taking some tcpdumps of the traffic as this is likely the only way you will find the problem. If you are not familiar with how to capture or read tcpdumps, I would suggest opening a ticket as the support staff is very good at diagnosing these types of issues.
  • Colin_Walker_12's avatar
    Colin_Walker_12
    Historic F5 Account
    Frankly, I'd agree with stjbrown on this one. It's likely there's some un-seen issue here if you're seeing that kind of delay. I've never heard of an iRule coding error taking 3 minutes to process.

     

     

    Are your pools up and responsive? If you remove the iRule, what happens? Are there errors in the /var/log/ltm file?

     

     

    This sounds like it may be an issue for Tech Support.

     

     

    Colin
  • Is the client issuing the request to the affected URL the same as the one that works fine? Are the requests similar? Also, are you sure it's not getting to the server for three minutes? Could it be that the response is not getting to the client?

     

     

    I would be deeply suspicious of the validity of your HTTP request or response. The F5 will hold the request until it considers it finished. For instance, an HTTP GET request + header block must be terminated by a CRLFCRLF (0d0a0d0a hex) sequence. An HTTP 1.1 POST request must include a Content-Length header with the appropriate value of the following POST body. See RFC-2616 Section 4 for more information about what constitutes a valid message boundary in HTTP.

     

     

    The three minute delay you are seeing sounds suspiciously like a timeout. One of the 'valid' ways of demarcating the 'end' of an HTTP request (or response) is by closing the TCP connection. If your client times out after three minutes, the F5 will then consider that a complete request and forward it to the server. The same goes for the server response.

     

     

    Take a capture of the entire conversation between the affected client and the VIP. Look for proper separation (0d0a) between the request and response header and the request body (if there is one) and for the presence or absence of Content-length headers.

     

     

    If this sounds too complicated, open a ticket, but I'm betting the problem will end up being with either your client or server.