What are the recommended values for slow-responding services (databases, reporting)?
Short answer
Timeout is selected comfortably above the service's normal response time under load but below 120 seconds (e.g. 10 s); Period 5–10 seconds, Required Failures 3 and Required Successes 2–3 are a good starting point; the docs also recommend increasing the Timeout and Required Failures values for slow services (Services that respond slowly). A lightweight health address or query is used instead of heavy report queries. With these settings (Period 5, Timeout 10, Required Failures 3), a server that does not respond is removed from traffic in about 40–48 seconds on HTTP and L7 TCP vServices.
How Does It Work?
| Field | Recommendation | Reason |
|---|---|---|
| Timeout | 1.5–2 times the worst normal response time observed (e.g. 10 s), below 120 s | Slow but healthy responses are not counted as failed |
| Period | 5–10 s | No unnecessary load is put on the server |
| Required Failures | 3 | A single slow response does not take the server down |
| Required Successes | 2–3 | The server does not return to traffic before it becomes stable |
Example calculation (Period 5, Timeout 10, Required Failures 3, Required Successes 2; formula: How many seconds does it take for a server to be considered "down", and how do I calculate it?):
- Removal: On a server that does not respond, each check takes 10 seconds, followed by a 5-second wait; three failed checks take about 40–45 seconds, and the effect on traffic adds at most 2.5 seconds.
- Return: When the server responds again, two successful checks take about 5–10 seconds, and the effect on traffic adds at most 2.5 seconds.
In TR7
- Values: Load Balancer → Profiles → Health Checks → profile → Edit (How should I set the Period, Timeout, Required Successes and Required Failures values?). If Period and Timeout are set to 120 seconds or more, 1 second is applied.
- Oracle database: A lightweight command (e.g. a query that returns a single row) is run with Oracle Scenario in the Oracle type.
- Other databases: TCP, or TCP Scenario, which sends data suited to the protocol and waits for a response.
- Reporting and web-based services: An HTTP check to a
/healthaddress that does not generate a report and only returns that the service is running. - Monitoring: The measured duration of the check is seen as a chart in the Health Check tab on the Dashboard; Timeout is selected above this duration.
Common Misconceptions
- "If I keep the Timeout very large, I will be safe." A value of 120 seconds or more is applied as 1 second; in addition, noticing a failure takes longer.
- "The health check should run the real report query." Heavy queries strain the server and slow down the check; a lightweight check is sufficient.
- "Keeping the Period low is safer." On slow services, frequent checks add load; stability is determined by the thresholds.
How it is done in the documentation
