|
1 | 1 | ---
|
2 |
| -title: Backend health monitoring |
| 2 | +title: Health probes |
3 | 3 | titleSuffix: Azure Front Door
|
4 | 4 | description: This article helps you understand how Azure Front Door monitors the health of your origins.
|
5 | 5 | services: frontdoor
|
6 | 6 | author: duongau
|
7 | 7 | ms.service: frontdoor
|
8 | 8 | ms.topic: conceptual
|
9 | 9 | ms.workload: infrastructure-services
|
10 |
| -ms.date: 03/17/2022 |
| 10 | +ms.date: 05/15/2023 |
11 | 11 | ms.author: duau
|
12 | 12 | ---
|
13 | 13 |
|
14 | 14 | # Health probes
|
15 | 15 |
|
16 | 16 | > [!NOTE]
|
17 |
| -> An *Origin* and a *origin group* in this article refers to the backend and backend pool of the Azure Front Door (classic) configuration. |
| 17 | +> An *origin* and an *origin group* in this article refers to the backend and backend pool of an Azure Front Door (classic) configuration. |
18 | 18 | >
|
19 | 19 |
|
20 |
| -To determine the health and proximity of each backend for a given Azure Front Door environment, each Front Door environment periodically sends a synthetic HTTP/HTTPS request to each of your configured origins. Azure Front Door then uses these responses from the probe to determine the "best" origin to route your client requests. |
| 20 | +To determine the health and proximity of each origin for a given Azure Front Door environment, each Front Door profile periodically sends a synthetic HTTP/HTTPS request to all your configured origins. Front Door then uses responses from the health probe to determine the *best* origin to route your client requests to. |
21 | 21 |
|
22 | 22 | > [!WARNING]
|
23 |
| -> Since each Azure Front Door edge POP emits health probes to your origins, the health probe volume for your origins can be quite high. The number of probes depends on your customer's traffic location and your health probe frequency. If the Azure Front Door edge POP doesn’t receive real traffic from your end users, the frequency of the health probe from the edge POP is decreased from the configured frequency. If there is customer traffic to all the Azure Front Door edge POP, the health probe volume can be high depending on your health probes frequency. |
| 23 | +> Since each Azure Front Door edge location is sending health probes to your origins, the health probe volume for your origins can be quite high. The number of probes depends on your customer's traffic location and your health probe frequency. If the Azure Front Door edge locations doesn’t receive real traffic from your end users, the frequency of the health probe from the edge location is decreased from the configured frequency. If there is traffic to all the Azure Front Door edge locations, the health probe volume can be high depending on your health probes frequency. |
24 | 24 | >
|
25 |
| -> An example to roughly estimate the health probe volume per minute to your origin when using the default probe frequency of 30 seconds. The probe volume on each of your origin is equal to the number of edge POPs times two requests per minute. The probing requests will be less if there is no traffic sent to all of the edge POPs. For a list of edge locations, see [edge locations by region](edge-locations-by-region.md) for Azure Front Door. There could be more than one POP in each edge location. |
26 |
| -
|
27 |
| -> [!NOTE] |
28 |
| -> Azure Front Door HTTP/HTTPS probes are sent with `User-Agent` header set with value: `Edge Health Probe`. |
| 25 | +> An example to roughly estimate the health probe volume per minute to an origin when using the default probe frequency of 30 seconds. The probe volume on each of your origin is equal to the number of edge locations times two requests per minute. The probing requests will be less if there is no traffic sent to all of the edge locations. For a list of edge locations, see [edge locations by region](edge-locations-by-region.md). |
29 | 26 |
|
30 | 27 | ## Supported protocols
|
31 | 28 |
|
32 |
| -Azure Front Door supports sending probes over either HTTP or HTTPS protocols. These probes are sent over the same TCP ports configured for routing client requests, and cannot be overridden. |
| 29 | +Azure Front Door supports sending probes over either HTTP or HTTPS protocols. These probes are sent over the same TCP ports configured for routing client requests, and can't be overridden. Front Door HTTP/HTTPS probes are sent with `User-Agent` header set with value: `Edge Health Probe`. |
33 | 30 |
|
34 | 31 | ## Supported HTTP methods for health probes
|
35 | 32 |
|
36 | 33 | Azure Front Door supports the following HTTP methods for sending the health probes:
|
37 | 34 |
|
38 |
| -1. **GET:** The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI. |
39 |
| -2. **HEAD:** The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response. For new Front Door profiles, by default, the probe method is set as HEAD. |
| 35 | +1. **GET:** The GET method means retrieve whatever information (in the form of an entity) gets identified by the Request-URI. |
| 36 | +2. **HEAD:** The HEAD method is identical to GET except that the server **MUST NOT** return a message-body in the response. For new Front Door profiles, by default, the probe method is set as HEAD. |
40 | 37 |
|
41 |
| -> [!NOTE] |
42 |
| -> For lower load and cost on your backends, Front Door recommends using HEAD requests for health probes. |
| 38 | +> [!TIP] |
| 39 | +> To lower the load and cost to your origins, Front Door recommends using HEAD requests for health probes. |
43 | 40 |
|
44 | 41 | ## Health probe responses
|
45 | 42 |
|
46 | 43 | | Responses | Description |
|
47 | 44 | | ------------- | ------------- |
|
48 |
| -| Determining Health | A 200 OK status code indicates the backend is healthy. Everything else is considered a failure. If for any reason (including network failure) a valid HTTP response isn't received for a probe, the probe is counted as a failure.| |
49 |
| -| Measuring Latency | Latency is the wall-clock time measured from the moment immediately before we send the probe request to the moment when we receive the last byte of the response. We use a new TCP connection for each request, so this measurement isn't biased towards backends with existing warm connections. | |
| 45 | +| Determining health | A **200 OK** status code indicates the origin is healthy. Any other status code is considered a failure. If for any reason a valid HTTP response isn't received for a probe, the probe is counted as a failure. | |
| 46 | +| Measuring latency | Latency is the wall-clock time measured from the moment immediately before the probe request gets sent to the moment when Front Door receives the last byte of the response. Front Door uses a new TCP connection for each request. The measurement isn't biased towards origins with existing warm connections. | |
50 | 47 |
|
51 |
| -## How Front Door determines backend health |
| 48 | +## How Front Door determines origin health |
52 | 49 |
|
53 |
| -Azure Front Door uses the same three-step process below across all algorithms to determine health. |
| 50 | +Azure Front Door uses a three-step process across all algorithms to determine health. |
54 | 51 |
|
55 |
| -1. Exclude disabled backends. |
| 52 | +1. Exclude disabled origins. |
56 | 53 |
|
57 |
| -1. Exclude backends that have health probes errors: |
| 54 | +1. Exclude origins that have health probes errors: |
58 | 55 |
|
59 |
| - * This selection is done by looking at the last _n_ health probe responses. If at least _x_ are healthy, the backend is considered healthy. |
| 56 | + * This selection is done by looking at the last _n_ health probe responses. If at least _x_ are healthy, the origin is considered healthy. |
60 | 57 |
|
61 |
| - * _n_ is configured by changing the SampleSize property in load-balancing settings. |
| 58 | + * _n_ is configured by changing the **SampleSize** property in load-balancing settings. |
62 | 59 |
|
63 |
| - * _x_ is configured by changing the SuccessfulSamplesRequired property in load-balancing settings. |
| 60 | + * _x_ is configured by changing the **SuccessfulSamplesRequired** property in load-balancing settings. |
64 | 61 |
|
65 |
| -1. For the sets of healthy backends in the backend pool, Front Door additionally measures and maintains the latency (round-trip time) for each backend. |
| 62 | +1. For sets of healthy origins in an origin group, Front Door measures and maintains the latency for each origin. |
66 | 63 |
|
67 | 64 | > [!NOTE]
|
68 |
| -> If a single endpoint is a member of multiple backend pools, Azure Front Door optimizes the number of health probes sent to the backend to reduce the load on the backend. Health probe requests will be sent based on the lowest configured sample interval. The health of the endpoint in all pools will be determined by the responses from same health probes. |
| 65 | +> If a single endpoint is a member of multiple origin groups, Front Door will optimize the number of health probes sent to the origin to reduce the load on the origin. Health probe requests will be sent based on the lowest configured sample interval. The health of the endpoint in all origin groups will be determined by the responses from same health probes. |
69 | 66 |
|
70 | 67 | ## Complete health probe failure
|
71 | 68 |
|
72 |
| -If health probes fail for every backend in a backend pool, then Front Door considers all backends unhealthy and routes traffic in a round robin distribution across all of them. |
| 69 | +If health probes fail for every origin in an origin group, then Front Door considers all origins unhealthy and routes traffic in a round robin distribution across all of them. |
73 | 70 |
|
74 |
| -Once any backend returns to a healthy state, then Front Door will resume the normal load-balancing algorithm. |
| 71 | +Once an origin returns to a healthy state, Front Door resumes the normal load-balancing algorithm. |
75 | 72 |
|
76 | 73 | ## Disabling health probes
|
77 | 74 |
|
78 |
| -If you have a single backend in your backend pool, you can choose to disable the health probes reducing the load on your application backend. Even if you have multiple backends in the backend pool but only one of them is in enabled state, you can disable health probes. |
| 75 | +If you have a single origin in your origin group, you can choose to disable health probes to reduce the load on your application. If you have multiple origins in your origin group and more than one of them is in enabled state, you can't disable health probes. |
79 | 76 |
|
80 | 77 | ## Next steps
|
81 | 78 |
|
82 |
| -- Learn how to [create an Front Door profile](create-front-door-portal.md). |
83 |
| -- Learn about Azure Front Door [routing architecture](front-door-routing-architecture.md). |
| 79 | +- Learn how to [create an Azure Front Door profile](create-front-door-portal.md). |
| 80 | +- Learn about [Front Door routing architecture](front-door-routing-architecture.md). |
0 commit comments