Understanding Monitor Timeout Value
"Note: F5 recommends setting the timeout of custom monitors to
three times the chosen interval time, plus one. This particular ratio ensures
that more than one health check must fail in order for a pool member to be
marked down. For example, with an interval of 5 seconds and a timeout of 16
seconds, the BIG-IP system must not receive any valid response from a pool
member for 16 seconds before it can mark the pool member down. Because in 16
seconds the BIG-IP system will run four health checks against the pool member,
all four health checks must fail for the pool member to be considered down.
Ultimately, this configuration prevents the status of a pool member from
flapping unnecessarily."
How does this work is a monitor that retrieves a response within the timeout value, but it doesn't match the required results? Would the member be marked down ASAP or would it wait until the timeout value has occurred?
Example:
Here is an example for a HTTP monitor that I'm trying to understand exactly what the behavior would be:
1) Get /health every 5 seconds and look for a http status code of 200
2) Time out is set to 16 seconds.
I understand that if a monitor probes doesn't receive any data back within 16 seconds (it will have tried 3 times within that timeout window) that it will be marked as down.
What I'm trying to figure out:
What about if the first request received a 4XX or 5XX? The monitor received data back (no timeout) but it doesn't match the required code. Therefore, would it mark the member down after 16 seconds (assuming all 3 checks within the timeout do the same) or would the member be marked down as soon as the first check returned a 4XX or 5XX?
Thanks!