Skip to content

Commit 258850e

Browse files
author
Jill Grant
authored
Merge pull request #249826 from sbdoroff/patch-4
Create troubleshoot-performance-issues.md
2 parents 156297e + d04746e commit 258850e

File tree

3 files changed

+189
-0
lines changed

3 files changed

+189
-0
lines changed

articles/frontdoor/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,8 @@
354354
items:
355355
- name: Troubleshooting Front Door issues
356356
href: troubleshoot-issues.md
357+
- name: Troubleshooting Front Door performance issues
358+
href: troubleshoot-performance-issues.md
357359
- name: Allowed certificate authorities
358360
href: https://ccadb-public.secure.force.com/microsoft/IncludedCACertificateReportForMSFT
359361
- name: File compression
36.5 KB
Loading
Lines changed: 187 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,187 @@
1+
---
2+
title: 'General performance troubleshooting of Azure Front Door'
3+
titleSuffix: Azure Front Door
4+
description: In this article, investigate, diagnose and resolve potential latency or bandwidth issues associated with an Azure Front Door related site performance
5+
services: frontdoor
6+
author: sbdoroff
7+
ms.service: frontdoor
8+
ms.topic: how-to
9+
ms.workload: infrastructure-services
10+
ms.date: 08/30/2023
11+
ms.author: stdoroff
12+
#Customer intent: As a <type of user>, I want <some goal> so that <some reason>.
13+
---
14+
15+
# Azure Front Door Performance
16+
17+
Performance issues can originate in several potential areas. This guide in identifying which hop along the data-path is most likely the root of the issue and how to resolve. As a brief overview, the issue could be at the Azure Front Door, the origin, the requesting client or the path between any of these hops.
18+
19+
## Check for Known Issues
20+
21+
Before beginning, be sure to check for any [known issues on the Azure Front Door platform](https://azure.status.microsoft/status), any known ISPs in the path or on the requesting client's ability to connect and retrieve data.
22+
23+
## Scenario 1: Investigate the Origin
24+
25+
If one of the origin servers are slow, then the first request for an object via the Azure Front Door is slow. Further, if the content isn't cached at the Azure Front Door's Point of Presence (POP), requests are forwarded to the origin. Serving from the origin negates the benefit of the POP's proximity and local delivery to the requesting client, and, instead, rely on the origin's performance.
26+
27+
### Scenario 1 | Environment Information Needed
28+
29+
- Azure Front Door / Endpoint Name
30+
- Endpoint Hostname
31+
- Endpoint Custom Domain (if applicable)
32+
- Origin Hostname
33+
- Full URL of Affected File
34+
35+
### Scenario 1 | Troubleshooting Steps
36+
37+
1. Check the response headers from the affected request
38+
39+
> [!TIP]
40+
> To check response headers, utilize your browser's Developer Tools (F12), select the *Networking* tab, then the relevant file to be investigated, then the *Headers* tab. ***If the file is missing*** the page need to be reloaded with Developer Tools (F12) open.
41+
42+
- The initial response should have an *x-cache* header with *TCP_MISS* value
43+
- Requests with this value are forwarded by the Azure Front Door's POP to the origin and returning on that same path to the requesting client
44+
- Examples
45+
- TCP_MISS
46+
47+
```bash
48+
$ curl -I "https://S*******.z01.azurefd.net/media/EteSQSGXMAYVUN_?format=jpg&name=large"
49+
HTTP/2 200
50+
cache-control: max-age=604800, must-revalidate
51+
content-length: 248381
52+
content-type: image/jpeg
53+
last-modified: Fri, 05 Feb 2021 15:34:05 GMT
54+
accept-ranges: bytes
55+
age: 0
56+
server: ECS (sjc/4E76)
57+
x-xcachep2c-originurl: https://p****.com:443/media/EteSQSGXMAYVUN_? format=jpg&name=large
58+
x-xcachep2c-originip: 72.21.91.70
59+
access-control-allow-origin: *
60+
access-control-expose-headers: Content-Length
61+
strict-transport-security: max-age=631138519
62+
surrogate-key: media media/bucket/9 media/1357714621109579782
63+
x-cache: TCP_MISS
64+
x-connection-hash: 8c9ea346f78166a032b347a42d8cc561
65+
x-content-type-options: nosniff
66+
x-response-time: 26
67+
x-tw-cdn: VZ
68+
x-azure-ref-originshield: 0MlAkYAAAAACtEkUH8vEbTIFoZe4xuRLOU0pDRURHRTA1MDgAZDM0ZjBhNGUtMjc4
69+
x-azure-ref: 0MlAkYAAAAACayEVNiWaKRI61MXUgRe97REFMRURHRTEwMTQAZDM0ZjBhNGUtMjc4
70+
date: Wed, 10 Feb 2021 21:29:22 GMT
71+
```
72+
73+
- TCP_HIT
74+
75+
```bash
76+
$ curl -I "https://S*******.z01.azurefd.net/media/EteSQSGXMAYVUN_?format=jpg&name=large"
77+
HTTP/2 200
78+
cache-control: max-age=604800, must-revalidate
79+
content-length: 248381
80+
content-type: image/jpeg
81+
last-modified: Fri, 05 Feb 2021 15:34:05 GMT
82+
accept-ranges: bytes
83+
age: 0
84+
server: ECS (sjc/4E76)
85+
x-xcachep2c-originurl: https://p****.com:443/media/EteSQSGXMAYVUN_?format=jpg&name=large
86+
x-xcachep2c-originip: 72.21.91.70
87+
access-control-allow-origin: *
88+
access-control-expose-headers: Content-Length
89+
strict-transport-security: max-age=631138519
90+
surrogate-key: media media/bucket/9 media/1357714621109579782
91+
x-cache: TCP_HIT
92+
x-connection-hash: 8c9ea346f78166a032b347a42d8cc561
93+
x-content-type-options: nosniff
94+
x-response-time: 26
95+
x-tw-cdn: VZ
96+
x-azure-ref-originshield: 0MlAkYAAAAACtEkUH8vEbTIFoZe4xuRLOU0pDRURHRTA1MDgAZDM0ZjBhNGUtMjc4Mi00OWVhLWIzNTYtN2MzYj
97+
x-azure-ref: 0NVAkYAAAAABHk4Fx0cOtQrp6cHFRf0ocREFMRURHRTEwMDUAZDM0ZjBhNGUtMjc4Mi00OWVhLWIzNTYtN2MzYj
98+
date: Wed, 10 Feb 2021 21:29:25 GMT
99+
```
100+
101+
1. Continue to request against the endpoint until the *x-cache* header has a *TCP_HIT* value
102+
1. ***If the performance issue is resolved***, then the issue was based on the origin's speed, and isn't the Azure Front Door's performance. The Azure Front Door's cache settings or the origin need to be address by its owner to resolve the performance issue.
103+
1. ***If the issue persists***, then the issue may be with the client requesting the content or the Azure Front Door
104+
A. Move to Scenario 2 to identify
105+
106+
## Scenario 2: A Single Client or Location (example: ISP) is Slow
107+
108+
A single client or location being slow can happen if there's a bad network route between the requesting client and the Azure Front Door POP. Any bad route should be ruled out as it affects the distance to the POP, removing the Azure Front Door POP's proximity benefit.
109+
110+
High latency, or low bandwidth, could be because of an ISP issue, the customer is using a VPN or they're a part of a dispersed corporate network. A corporate network can run all traffic through a central, remote point.
111+
112+
### Scenario 2 | Environment Information Needed
113+
114+
- Azure Front Door / Endpoint Name
115+
- Endpoint Hostname
116+
- Endpoint Custom Domain (if applicable)
117+
- Origin Hostname
118+
- Full URL of Affected File
119+
- Requesting Client Information
120+
- Requesting Client IP
121+
- Requesting Client Location
122+
- Requesting Client Path to Azure Environment (Usually identified with [TraceRoute](/windows-server/administration/windows-commands/tracert), [PathPing](/windows-server/administration/windows-commands/pathping) or a similar tool).
123+
124+
### Scenario 2 | Troubleshooting Steps
125+
126+
1. To check the path to the POP, use [PathPing](/windows-server/administration/windows-commands/pathping) or similar tool for 500 packets to check the network route. *PathPing maxes at 250 queries. To test to 500, run the below query twice*
127+
128+
```Console
129+
pathping /q 250 <Full URL of Affected File>
130+
```
131+
132+
1. Determine if the traffic is taking a path that would add time or travel to a distant region
133+
- Look for IP, city or region codes that don't take a reasonable route based on the customer’s geography (example: a customer in Europe getting routed to the United States), or excessive number of hops
134+
1. Test from a different requesting client in the same region
135+
1. **If additional hops or remote regions are identified**, the issue is with the client accessing the Azure Front Door POP and not with the Azure Front Door itself. Hops between endpoints needs to be addressed by the connectivity or VPN provider.
136+
1. **If additional hops or remote regions are not identified** AND the content is being served from cache (x-cache: TCP_HIT), the issue is with the Azure Front Door and a Support Request may need to be created. Include a reference to this troubleshooting article and steps taken.
137+
- ***Note***: , when the content is being served from the origin (x-cache: TCP_MISS), see Scenario 1 above
138+
139+
## Scenario 3: A Website Loads Slowly
140+
141+
There are some scenarios where there is ***not*** an issue with a single file but the performance of the whole, Azure Front Door proxied, webpage is unsatisfactory. Site performance is revealed by a webpage performance tool and shows under performance compared to the webpage outside of Azure Front Door.
142+
143+
A webpage often consists of many files. The way the website benefits from the Azure Front Door is only if each file in the webpage is being served from the Azure Front Door. Additionally, the Azure Front Door must be configured to maximize the benefit. For example:
144+
145+
- Origin: origin.contoso.com
146+
- Azure Front Door Custom Domain: contoso.com
147+
- Page customer attempts to load: https://contoso.com
148+
- **Explanation**: When the page loads, the initial file at the "/" directory calls other files, which build the page. These files are images, JavaScript, text files and more. If those files aren't called via the Azure Front Door hostname, *contoso.com*, the Azure Front Door is ***not*** being utilized. So, if one of the file requested by the website is *`http://www.images.fabrikam.com/businessimage.jpg`* the file is ***not*** benefiting from the use of the Azure Front Door. Instead, the file is being requested directly, from the *`images.fabrikam.com`* server, by the browser on the requesting client.
149+
150+
:::image type="content" source="media/troubleshoot-performance-issues/azure-front-door-performance.jpg" alt-text="Diagram of multiple, differently sourced files for a singular website and how it affects Azure Front Door performance.":::
151+
152+
### Scenario 3 | Environment Information Needed
153+
154+
- Azure Front Door / Endpoint Name
155+
- Endpoint Hostname
156+
- Endpoint Custom Domain (if applicable)
157+
- Origin Hostname
158+
- Geographical location of the origin
159+
- Full URL of Affected Webpage
160+
- Tool and metric, which is measuring performance
161+
162+
### Scenario 3 | Troubleshooting
163+
164+
1. Review the metric, which is showing the slower performance
165+
> [!IMPORTANT]
166+
> If it is based on a third part tool, Microsoft cannot discern what is being measure by tools not owned by Microsoft
167+
1. Pull up the Azure Front Door webpage in a Browser with Developer Tools (F12) enabled
168+
> [!NOTE]
169+
> Developer tools in your browser can be used to determine the source of the files being served
170+
1. Note the source of files
171+
1. Identify which files are utilizing the Azure Front Door hostname and which aren't
172+
A. Example: From the above example, an Azure Front Door hosted image would be, `https://www.contoso.com/productimage1.jpg`, and that which wouldn't be, `http://www.images.fabrikam.com/businessimage.jpg`
173+
1. Once gathered test performance for file being served from Azure Front Door, its origin and, if applicable, the testing webpage
174+
> [!IMPORTANT]
175+
> If the origin or testing webpage is served from a geographical region closer to the tool testing performance, a tool or requesting client may need to be used in another region to examine the Azure Front Door POP's proximity benefit
176+
177+
> [!CAUTION]
178+
> If files are meant to be cached, be sure to test files that have the response header *x-cache: TCP_HIT*
179+
180+
> [!IMPORTANT]
181+
> Any files served from outside the Azure Front Door's hostname will not be able to benefit from it and the webpage may need to be redesigned to do so
182+
183+
1. **If the collected data shows that files are being issued from servers outside the Azure Front Door's hostname or performance is better at the Azure Front Door**, the Azure Front Door is working as expected
184+
A. Slowly loading websites may require a change in webpage design, for assistance in optimizing your website to use an Azure Front Door, connect with your website design team or our [Microsoft Solution Providers](https://www.microsoft.com/solution-providers/home)
185+
> [!NOTE]
186+
> Slowly loading websites issue could take time to review based on the complexity of a website's design and it's file calling instructions
187+
1. **If the collected data shows that performance is ***not*** better at the Azure Front Door**, a Support Request is likely required for further investigation. Include a reference to this troubleshooting article and steps taken.

0 commit comments

Comments
 (0)