You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: support/azure/app-service/web-apps-performance-faqs.md
+22-17Lines changed: 22 additions & 17 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,13 +4,13 @@ description: Get answers to frequently asked questions about availability, perfo
4
4
author: genlin
5
5
ms.author: genli
6
6
ms.service: azure-app-service
7
-
ms.date: 03/05/2024
7
+
ms.date: 04/15/2025
8
8
ms.reviewer: toan, shrahman
9
9
---
10
10
# Application performance FAQs for Web Apps in Azure
11
11
12
12
> [!NOTE]
13
-
> Some of the below guidelines might only work on Windows or Linux App Services. For example, Linux App Services run in 64-bit mode by default.
13
+
> Some of the following guidelines might only work on Windows or Linux App Services. For example, Linux App Services run in 64-bit mode by default.
14
14
15
15
This article has answers to frequently asked questions (FAQs) about application performance issues for the [Web Apps feature of Azure App Service](https://azure.microsoft.com/services/app-service/web/).
16
16
@@ -28,18 +28,24 @@ The platform processes will consume a minimum amount of resources (such as CPU,
28
28
29
29
Multiple factors might contribute to slow app performance. For detailed troubleshooting steps, see [Troubleshoot slow web app performance](/azure/app-service/troubleshoot-performance-degradation).
30
30
31
+
> [!TIP]
32
+
> - Enable the **Always On** setting under **Configuration** > **General settings** to keep your app warm and avoid cold starts. This helps reduce delay after idle time, especially in Basic and higher plans.
33
+
> - Configure a Health check path to monitor app health and automatically replace unresponsive instances. This helps maintain availability and performance. For more information, see [Monitor App Service instances by using Health check](/azure/app-service/monitor-instances-health-check).
34
+
31
35
## How do I troubleshoot a high CPU-consumption scenario?
32
36
33
37
In some high CPU-consumption scenarios, your app might truly require more computing resources. In that case, consider scaling to a higher service tier so the application gets all the resources it needs. Other times, high CPU consumption might be caused by a bad loop or by a coding practice. Getting insight into what's triggering increased CPU consumption is a two-part process. First, create a process dump, and then analyze the process dump. For more information, see [Capture and analyze a dump file for high CPU consumption for Web Apps](/archive/blogs/asiatech/how-to-capture-dump-when-intermittent-high-cpu-happens-on-azure-web-app).
34
38
35
39
## How do I troubleshoot a high memory-consumption scenario?
36
40
37
-
In some high memory-consumption scenarios, your app might truly require more computing resources. In that case, consider scaling to a higher service tier so the application gets all the resources it needs. Other times, a bug in the code might cause a memory leak. A coding practice also might increase memory consumption. Getting insight into what's triggering high memory consumption is a two-part process. First, create a process dump, and then analyze the process dump. Crash Diagnoser from the Azure Site Extension Gallery can efficiently perform both these steps. For more information, see [Capture and analyze a dump file for intermittent high memory for Web Apps](/archive/blogs/asiatech/how-to-capture-and-analyze-dump-for-intermittent-high-memory-on-azure-web-app).
41
+
In some high memory-consumption scenarios, your app might truly require more computing resources. In that case, consider scaling to a higher service tier so the application gets all the resources it needs. Other times, a bug in the code might cause a memory leak. A coding practice might also increase memory consumption. Getting insight into what's triggering high memory consumption is a two-part process. First, create a process dump, and then analyze the process dump. Crash Diagnoser from the Azure Site Extension Gallery can efficiently perform both these steps. For more information, see [Capture and analyze a dump file for intermittent high memory for Web Apps](/archive/blogs/asiatech/how-to-capture-and-analyze-dump-for-intermittent-high-memory-on-azure-web-app).
38
42
39
43
## How do I automate App Service web apps by using PowerShell?
40
44
41
-
You can use PowerShell cmdlets to manage and maintain App Service web apps. In our blog post [Automate web apps hosted in Azure App Service by using PowerShell](/archive/blogs/puneetgupta/automating-webapps-hosted-in-azure-app-service-through-powershell-arm-way), we describe how to use Azure Resource Manager-based PowerShell cmdlets to automate common tasks. The blog post also has sample code for various web apps management tasks.
42
-
For descriptions and syntax for all App Service web apps cmdlets, see [Az.Websites](/powershell/module/az.websites).
45
+
You can use PowerShell cmdlets to manage and maintain App Service web apps. In our blog post [Automate web apps hosted in Azure App Service by using PowerShell](/archive/blogs/puneetgupta/automating-webapps-hosted-in-azure-app-service-through-powershell-arm-way), we describe how to use Azure Resource Manager-based PowerShell cmdlets to automate common tasks.
46
+
47
+
> [!NOTE]
48
+
> For current automation scripts, use the latest [Az.Websites](/powershell/module/az.websites) module. The older `AzureRM` module is deprecated.
43
49
44
50
## How do I view my web app's event logs?
45
51
@@ -86,15 +92,6 @@ To see what is causing the error and to resolve the issue, follow the steps in [
86
92
87
93
For information about quotas and limits, see [App Service limits](/azure/azure-resource-manager/management/azure-subscription-service-limits#app-service-limits).
88
94
89
-
## How do I decrease the response time for the first request after idle time?
90
-
91
-
By default, web apps are unloaded if they're idle for a set period of time. This way, the system can conserve resources. The downside is that the response to the first request after the web app is unloaded is longer, to allow the web app to load and start serving responses. In Basic and Standard service plans, you can turn on the **Always On** setting to keep the app always loaded. This eliminates longer load times after the app is idle. To change the **Always On** setting:
92
-
93
-
1. In the Azure portal, go to your web app.
94
-
2. Select **Configuration**
95
-
3. Select **General settings**.
96
-
4. For **Always On**, select **On**.
97
-
98
95
## How do I turn on failed request tracing?
99
96
100
97
To turn on failed request tracing, follow these steps:
@@ -161,13 +158,13 @@ For more information, see [Configure web apps in App Service](/azure/app-service
161
158
162
159
## Why does my request time out after 230 seconds?
163
160
164
-
Azure Load Balancer has a default idle timeout setting of four minutes. This setting is generally a reasonable response time limit for a web request. so, App Service returns a timeout to the client if your application does not return a response within approximately 240 seconds (230 seconds on Windows app, 240 seconds on Linux app). If your web app requires background processing, we recommend using Azure WebJobs. The Azure web app can call WebJobs and be notified when background processing is finished. You can choose from multiple methods for using WebJobs, including queues and triggers.
161
+
Azure Load Balancer has a default idle timeout setting of four minutes. This setting is generally a reasonable response time limit for a web request. Therefore, App Service returns a timeout to the client if your application does not return a response within approximately 240 seconds (230 seconds on Windows app, 240 seconds on Linux app). If your web app requires background processing, we recommend using Azure WebJobs. The Azure web app can call WebJobs and be notified when background processing is finished. You can choose from multiple methods for using WebJobs, including queues and triggers.
165
162
166
163
WebJobs is designed for background processing. You can do as much background processing as you want in a WebJob. For more information about WebJobs, see [Run background tasks with WebJobs](/azure/app-service/webjobs-create).
167
164
168
165
## ASP.NET Core applications that are hosted in App Service sometimes stop responding. How do I fix this issue?
169
166
170
-
A known issue with an earlier [Kestrel version](https://github.com/aspnet/KestrelHttpServer/issues/1182) might cause an ASP.NET Core 1.0 app that's hosted in App Service to intermittently stop responding. You also might see this message: "The specified CGI Application encountered an error and the server terminated the process."
167
+
A known issue with an earlier [Kestrel version](https://github.com/aspnet/KestrelHttpServer/issues/1182) might cause an ASP.NET Core 1.0 app that's hosted in App Service to intermittently stop responding. You might also see this message: "The specified CGI Application encountered an error and the server terminated the process."
171
168
172
169
This issue is fixed in Kestrel version 1.0.2. This version is included in the ASP.NET Core 1.0.3 update. To resolve this issue, make sure you update your app dependencies to use Kestrel 1.0.2. Alternatively, you can use one of two workarounds that are described in the blog post [ASP.NET Core 1.0 slow perf issues in App Service web apps](/archive/blogs/waws/asp-net-core-slow-perf-issues-on-azure-websites).
173
170
@@ -183,12 +180,20 @@ If you aren't using Local Cache and are experiencing this issue, submit a suppor
183
180
184
181
This error typically occurs if the outbound TCP connections on the VM instance are exhausted. In App Service, limits are enforced for the maximum number of outbound connections that can be made for each VM instance. For more information, see [Cross-VM numerical limits](https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#cross-vm-numerical-limits).
185
182
186
-
This error also might occur if you try to access a local address from your application. For more information, see [Local address requests](https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#local-address-requests).
183
+
This error might also occur if you try to access a local address from your application. For more information, see [Local address requests](https://github.com/projectkudu/kudu/wiki/Azure-Web-App-sandbox#local-address-requests).
187
184
188
185
For more information about outbound connections in your web app, see the blog post about [outgoing connections to Azure websites](https://www.freekpaans.nl/2015/08/starving-outgoing-connections-on-windows-azure-web-sites/).
189
186
190
187
## How do I use Visual Studio to remote debug my App Service web app?
191
188
192
189
For a detailed walkthrough that shows you how to debug your web app by using Visual Studio, see [Remote debug your App Service web app](/archive/blogs/benjaminperkins/remote-debug-your-azure-app-service-web-app).
193
190
191
+
## Additional recommendations for performance and resiliency
192
+
193
+
- Use Application Insights and Azure Monitor for full-stack observability of your App Service app, including telemetry, dependency tracing, and live metrics.
194
+
195
+
- If you're deploying in regions that support availability zones, consider enabling zone redundancy to enhance resiliency during regional outages. For more information, see [Reliability in Azure App Service](/azure/reliability/reliability-app-service).
196
+
197
+
- App Service undergoes routine maintenance to ensure platform reliability. For more control over update behavior, especially in App Service Environment v3, configure upgrade preference. For more information, see [Routine (planned) maintenance for Azure App Service](/azure/app-service/routine-maintenance).
198
+
194
199
[!INCLUDE [Azure Help Support](../../includes/azure-help-support.md)]
Copy file name to clipboardExpand all lines: support/azure/azure-container-instances/configuration-setup/error-codes-spot-container-creation.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,11 +1,11 @@
1
1
---
2
2
title: Error codes for Spot container creation in Container Instances
3
3
description: Provides a solution to common Spot container errors.
4
-
ms.date: 01/30/2024
4
+
ms.date: 04/14/2025
5
5
author: tysonfms
6
6
ms.author: tysonfreeman
7
7
editor: v-jsitser
8
-
ms.reviewer: v-weizhu, v-leedennis
8
+
ms.reviewer: edneto, v-weizhu, v-leedennis
9
9
ms.service: azure-container-instances
10
10
ms.custom: sap:Configuration and Setup
11
11
#customer intent: As a user of Azure Container Instances, I want find details and solutions to common user errors that involve Spot containers so that I can create Spot containers successfully.
Copy file name to clipboardExpand all lines: support/azure/azure-container-instances/configuration-setup/long-image-pulls.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,12 +1,12 @@
1
1
---
2
2
title: Image pull takes a long time to run
3
3
description: Learn about troubleshooting steps that you can take if an image pull takes a long time to run on Azure Container Instances.
4
-
ms.date: 12/28/2023
4
+
ms.date: 04/14/2025
5
5
ms.service: azure-container-instances
6
6
author: tysonfms
7
7
ms.author: tysonfreeman
8
8
editor: v-jsitser
9
-
ms.reviewer: v-leedennis
9
+
ms.reviewer: edneto, v-leedennis
10
10
ms.custom: sap:Configuration and Setup
11
11
#Customer intent: As a user of Azure Container Instances, I want to learn why an image pull takes a long time to run so that I can create and use container groups successfully.
Copy file name to clipboardExpand all lines: support/azure/azure-kubernetes/availability-performance/node-not-ready-expired-certificates.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
2
title: Troubleshoot Node Not Ready state when certificates have expired
3
3
description: Troubleshoot scenarios in which Node Not Ready failures occur in an Azure Kubernetes Service (AKS) cluster node if there are expired certificates.
#Customer intent: As an Azure Kubernetes user, I want to fix expired certificates so that they don't cause Node Not Ready failures within an Azure Kubernetes Service (AKS) cluster.
8
8
ms.custom: sap:Node/node pool availability and performance
Copy file name to clipboardExpand all lines: support/azure/azure-kubernetes/connectivity/cannot-view-resources-kubernetes-resource-viewer-portal.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,8 +1,8 @@
1
1
---
2
2
title: Can't view resources in Kubernetes resource viewer on Azure portal
3
3
description: Troubleshoot why you can't view resources in the Kubernetes resource viewer in the Azure portal for a cluster configured with API server-authorized IP ranges.
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot the inability to view resources in the Kubernetes resource viewer in the Azure portal so that I can use authorized IP address ranges to access my AKS cluster that's configured with an API server.
description: Introduces how to troubleshoot the WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY error (5) when you try to add Windows node pools in an AKS cluster.
description: Learn how to troubleshoot the WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY error (5) when you try to add Windows node pools in an AKS cluster.
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot the WINDOWS_CSE_ERROR_CHECK_API_SERVER_CONNECTIVITY error (5) so that I can successfully add Windows node pools in an Azure Kubernetes Service (AKS) cluster.
8
8
ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool)
@@ -31,7 +31,9 @@ Your cluster nodes can't connect to the cluster API server pod.
31
31
32
32
## Troubleshooting steps
33
33
34
-
1. Verify that your nodes can resolve the cluster's fully qualified domain name (FQDN):
34
+
1. Connect to the respective node by following the steps described in [Windows Server proxy connection for SSH](/azure/aks/node-access#windows-server-proxy-connection-for-ssh):
35
+
36
+
2. Verify that your nodes can resolve the cluster's fully qualified domain name (FQDN):
35
37
36
38
On existing Windows nodes, run the following command:
37
39
@@ -45,15 +47,17 @@ Your cluster nodes can't connect to the cluster API server pod.
45
47
nc -vz <cluster-fqdn> 443
46
48
```
47
49
48
-
2. If the command output shows `False` or `Timeout`, check your network configuration. For example, check whether you set "Deny" rules for the API server in network security groups (NSGs) of the virtual network.
50
+
3. If the command output shows `False` or `Timeout`, check your network configuration. For example, check whether you set "Deny" rules for the API server in network security groups (NSGs) of the virtual network.
49
51
50
-
3. If you're using egress filtering through a firewall, make sure that traffic is allowed to your cluster FQDN.
52
+
4. If you're using egress filtering through a firewall, make sure that traffic is allowed to your cluster FQDN.
51
53
52
-
4. If you've authorized IP addresses that are enabled on your cluster, the firewall's outbound IP address can be blocked. In this scenario, you must add the outbound IP address of the firewall to the list of authorized IP ranges for the cluster. For more information, see [Secure access to the API server using authorized IP address ranges in AKS](/azure/aks/api-server-authorized-ip-ranges).
54
+
5. If you've authorized IP addresses that are enabled on your cluster, the firewall's outbound IP address can be blocked. In this scenario, you must add the outbound IP address of the firewall to the list of authorized IP ranges for the cluster. For more information, see [Secure access to the API server using authorized IP address ranges in AKS](/azure/aks/api-server-authorized-ip-ranges).
53
55
54
56
## References
55
57
56
-
[General troubleshooting of AKS cluster creation issues](troubleshoot-aks-cluster-creation-issues.md)
58
+
- [General troubleshooting of AKS cluster creation issues](troubleshoot-aks-cluster-creation-issues.md)
59
+
60
+
- [Exit codes in Windows CSE](https://github.com/Azure/AgentBaker/blob/master/parts/windows/windowscsehelper.ps1)
0 commit comments