Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Nota:
Algunas de las siguientes directrices solo pueden funcionar en Aplicación de Windows Service o Linux App Service. Por ejemplo, App Service de Linux se ejecuta en modo de 64 bits de forma predeterminada.
Resumen
En este artículo se responden las preguntas más frecuentes (P+F) sobre los problemas de rendimiento de las aplicaciones web de Azure App Service.
¿Dónde puedo obtener más información sobre cuotas y límites de los diversos planes de App Service?
Para más información sobre cuotas y límites, consulte Límites de App Service.
Mi plan de App Service muestra el uso de CPU o memoria incluso cuando se detienen todas las aplicaciones web
App Service requiere procesos continuos del sistema que controlan varias operaciones y características de la plataforma, como actualizaciones de seguridad, disponibilidad de la consola SCM (Kudu), supervisión de aplicaciones, autenticación y muchas otras características de la aplicación web.
Los procesos del sistema se ejecutan en planes de App Service aunque no haya ninguna aplicación web en ejecución o si el plan de App Service no contiene ninguna aplicación web.
Los procesos de plataforma consumen una cantidad mínima de recursos (como CPU, memoria y espacio en disco), y debe tener en cuenta estos recursos durante la planeación de la capacidad, la supervisión y la configuración del desencadenador de escalado automático de un plan de App Service.
El rendimiento de la aplicación es lento
Varios factores podrían contribuir a la ralentización del rendimiento de la aplicación. Para obtener los pasos detallados de solución de problemas, consulte Solucionar los problemas de rendimiento reducido de aplicaciones web en Azure Web Apps.
Sugerencia
- Habilite la opción AlwaysOn en Configuración>general para mantener la aplicación activa y evitar los inicios en frío. Esta configuración ayuda a reducir el retraso después del tiempo de inactividad, especialmente en planes básicos y superiores.
- Configura una ruta de comprobación de estado para monitorear la salud de la aplicación y reemplaza automáticamente las instancias que no responden. Esta configuración ayuda a mantener la disponibilidad y el rendimiento. Para obtener más información, consulte Supervisión de instancias de App Service a través de la comprobación del estado.
¿Cómo puedo solucionar problemas de consumo elevado de CPU?
En algunos escenarios de consumo elevado de CPU, la aplicación podría requerir realmente más recursos informáticos. En ese caso, considere la posibilidad de escalar a un mayor nivel de servicio para que la aplicación obtenga todos los recursos necesarios. En otras ocasiones, el consumo elevado de CPU podría deberse a un bucle incorrecto o una práctica de codificación. Obtener una visión general de lo que está desencadenando ese mayor consumo de CPU es un proceso de dos partes. En primer lugar, cree un volcado del proceso y, después, analice el volcado del proceso. Para más información, consulte la entrada de blog Capture and analyze a dump file for high CPU consumption for Web Apps (Captura y análisis de un archivo de volcado de memoria para un consumo elevado de CPU para Web Apps).
¿Cómo puedo solucionar problemas de consumo elevado de memoria?
En algunos escenarios de consumo elevado de memoria, la aplicación podría requerir realmente más recursos informáticos. En ese caso, considere la posibilidad de escalar a un mayor nivel de servicio para que la aplicación obtenga todos los recursos necesarios. En otras ocasiones, un error del código podría producir una pérdida de memoria. Una práctica de codificación también podría aumentar el consumo de memoria. Obtener una visión general de lo que está desencadenando ese mayor consumo de memoria es un proceso de dos partes. En primer lugar, cree un volcado del proceso y, después, analice el volcado del proceso. Crash Diagnoser de la galería de extensiones de sitio de Azure puede realizar ambos pasos de forma eficaz. Para más información, consulte la entrada de blog How to capture and analyze dump for intermittent High Memory on Azure Web App (Captura y análisis de un archivo de volcado de memoria para un consumo elevado intermitente de memoria para Web Apps).
¿Cómo se puede automatizar App Service Web Apps mediante PowerShell?
Puede usar los cmdlets de PowerShell para administrar y mantener App Service Web Apps. Consulte Automatización de aplicaciones web hospedadas en Azure App Service mediante PowerShell para obtener más información sobre cómo usar cmdlets de PowerShell basados en Azure Resource Manager para automatizar tareas comunes.
Nota:
Para los scripts de automatización actuales, use el módulo Az.Websites más reciente. El módulo anterior AzureRM está en desuso.
Necesito recopilar información para solucionar problemas de mi aplicación web
Visualización de los registros de eventos de una aplicación web
Para ver los registros de eventos de una aplicación web, siga estos pasos:
- Inicie sesión en su sitio web de Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - En el menú, seleccione Consola de depuración>CMD.
- Seleccione la carpeta LogFiles.
- Para ver los registros de eventos, seleccione el icono de lápiz junto a eventlog.xml.
- Para descargar los registros, ejecute el cmdlet de PowerShell
Save-AzureWebSiteLog -Name webappname.
Capture un volcado de memoria en modo usuario de una aplicación web
Para capturar un volcado de memoria en modo de usuario de una aplicación web, siga estos pasos:
- Inicie sesión en su sitio web de Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - Seleccione el menú Explorador de procesos.
- Haga clic con el botón derecho en el proceso w3wp.exe o en el proceso de WebJob.
- Seleccione Descargar volcado de memoria>Volcado completo.
Visualización de información de nivel de proceso para una aplicación web
Tiene dos opciones para ver la información de nivel de proceso para la aplicación web:
En el Portal de Azure:
- Abra el explorador de procesos para la aplicación web.
- Para ver los detalles, seleccione el proceso w3wp.exe.
En la consola Kudu:
- Inicie sesión en su sitio web de Kudu (
https://*yourwebsitename*.scm.azurewebsites.net). - Seleccione el menú Explorador de procesos.
- En el proceso w3wp.exe, seleccione Propiedades.
- Inicie sesión en su sitio web de Kudu (
No puedo encontrar mis archivos de registro en la estructura de carpetas de mi aplicación web al usar la característica de caché local de App Service
Si usa la característica de caché local de App Service, afecta a la estructura de carpetas de las carpetas LogFiles y Datos de la instancia de App Service. Cuando se usa la caché local, el sistema crea subcarpetas en las carpetas LogFiles y Datos de almacenamiento. Las subcarpetas siguen el patrón de nomenclatura "identificador único" seguido de una marca temporal. Cada subcarpeta corresponde a una instancia de máquina virtual (VM) en la que se ejecuta o se ejecuta la aplicación web.
Para determinar si usa la caché local, compruebe la pestaña Configuración de la aplicación de App Service. Si el sistema usa la caché local, la configuración WEBSITE_LOCAL_CACHE_OPTION de la aplicación se establece en Always.
Para activar el rastreo de solicitudes fallidas
Para activar el seguimiento de solicitudes con error, siga estos pasos:
En Azure Portal, vaya a la aplicación web.
Seleccione Toda la configuración>Registros de diagnóstico.
Para Seguimiento de solicitudes con error, seleccione Activado.
Haga clic en Guardar.
En la hoja de aplicación web, seleccione Herramientas.
Seleccione Visual Studio Online.
Si la configuración no está activada, seleccione Activado.
Seleccione Continuar.
Seleccione Web.config.
En system.webServer, agregue la siguiente configuración (para capturar una dirección URL específica):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*api*" /> <add path="*api*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Para solucionar problemas de rendimiento lento, agregue esta configuración (si la solicitud de captura está tardando más de 30 segundos):
<system.webServer> <tracing> <traceFailedRequests> <remove path="*" /> <add path="*"> <traceAreas> <add provider="ASP" verbosity="Verbose" /> <add provider="ASPNET" areas="Infrastructure,Module,Page,AppServices" verbosity="Verbose" /> <add provider="ISAPI Extension" verbosity="Verbose" /> <add provider="WWW Server" areas="Authentication,Security,Filter,StaticFile,CGI,Compression, Cache,RequestNotifications,Module,FastCGI" verbosity="Verbose" /> </traceAreas> <failureDefinitions timeTaken="00:00:30" statusCodes="200-999" /> </add> </traceFailedRequests> </tracing>Para descargar las trazas de solicitudes erróneas, en el portal de Azure, vaya a su sitio web.
Seleccione Herramientas>Kudu>Go.
En el menú, seleccione Consola de depuración>CMD.
Seleccione la carpeta LogFiles y, después, seleccione la carpeta con un nombre que comienza por W3SVC.
Para ver el archivo XML, seleccione el icono de lápiz.
Recomendaciones adicionales para el rendimiento y la resistencia
Use Application Insights y Azure Monitor para la observabilidad completa de tu aplicación en App Service, incluyendo telemetría, seguimiento de dependencias y métricas en tiempo real.
Si va a implementar en regiones que admiten zonas de disponibilidad, considere la posibilidad de habilitar la redundancia de zona para mejorar la resistencia durante las interrupciones regionales. Para más información, consulte Confiabilidad en Azure App Service.
App Service se somete a mantenimiento rutinario para garantizar la confiabilidad de la plataforma. Para obtener más control sobre el comportamiento de actualización, especialmente en App Service Environment v3, configure las preferencias de actualización. Para más información, consulte Mantenimiento rutinario (planeado) para Azure App Service.