Forum Discussion

Sarah_258804's avatar
Sep 09, 2016

Interval and Timeout set to two seconds on HTTP/HTTPS health monitor

Hi all, I currently have a need from upper management to shorten the length of time a user will need to wait if they're connected to our site and tomcat goes down on one of our backend servers that they're connected to. In order to achieve a wait time of no longer than 10 seconds before their web page is loaded on another server in the pool we set the interval and timeout values on the health monitor to 2 seconds each. Originally I had it set to 5 and 16, then 3 and 10, but that wasn't giving us a low enough wait time before a webpage comes back.

 

So, testing our values at 2 and 2 gave us the results we wanted but I want to make sure there are no "gotchas" as far as on the F5. There's no reason why one of our servers wouldn't be able to respond back within 2 seconds and sending that check every 2 seconds isn't a concern as far as network load. The only thing I can think of that might be a concern is the ability of the server to respond to the string below. As far as I know that string is only making sure http and https are responsive, it's not asking for a webpage or something that would take more time/resources.

 

Have any of you had success/issues with setting a monitor interval and timeout to such a low value and what effects did you see?

 

For reference we're running version 12.1.0 and the monitor string is below:

 

GET / HTTPS/1.1\r\nHost: \r\nConnection: Close\r\n\r\n HTTP/1.1\r\nHost: \r\nConnection: Close\r\n\r\n

 

3 Replies

  • Hi Sarah,

     

    The recommended setting for health monitors is to use the scheme of n3+1, meaning, if you pick an interval of 2 seconds, then your timeout should be 7 seconds. The default that ships with the system is 53+1=16.

     

    This article may help. In the "Verifying Monitoring Settings" section, it discusses the recommended timings.

     

    https://support.f5.com/kb/en-us/solutions/public/12000/500/sol12531.html

     

    Interval/timeout ratio

     

    Configuring an appropriate interval/timeout ratio is important for simple monitors. In most cases, the interval/timeout should have a timeout value of three times the interval, plus one. For example, the default ratio is 5/16. Verify that the ratio is properly defined.

     

  • When you increase the frequency of a monitor you're adding more load to the end point servers. So in your scenario you are creating more 'hits' to the web servers from the F5.

     

    Here are a few things to keep in mind:

     

    1. Your monitor is checking the root index of your web site. Try deploying a basic status page that only your F5 can connect to or knows about. You can then filter your logs on the web server to ignore that status check.

       

    2. How many pool members do you have? Increasing the monitor to 2 second intervals seems extreme. Does your testing reflect actual use cases? What error are you trying to avoid for the end user?

       

    3. Have you considered adding more web servers to the pool? This would diminish the percentage of your user base impacted by a failed web server.

       

    Hope that helps!

     

  • Also in addition to what other people have said.

     

    Why are your Tomcats going down - Is this a planned maintenance question? Is there anything you can do on the Tomcats to allow it to produce a string you can pickup on for rcv disable ? Then your time before being served to another server would be only the time it takes for a single monitor response.