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 Windows o Linux App Services. Por ejemplo, App Services de Linux se ejecuta en modo de 64 bits de manera predeterminada.
En este artículo se responden preguntas comunes sobre la disponibilidad, el rendimiento y la solución de problemas de la aplicación en la característica Web Apps de Azure App Service. Use esta guía para resolver rápidamente los problemas y optimizar la confiabilidad de la aplicación.
¿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 que muestra el uso de CPU/memoria incluso cuando se detienen todas las aplicaciones web
App de Azure 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, supervisión de aplicaciones, autenticación y muchas otras características vitales de la aplicación web.
Los procesos del sistema se ejecutarán en planes de App Service aunque no haya ninguna aplicación web en ejecución o si el plan de App Service no contiene aplicaciones web.
Los procesos de plataforma consumirán una cantidad mínima de recursos (como CPU, memoria y espacio en disco) y se deben tener en cuenta los mismos durante la configuración del desencadenador de planeamiento, supervisión y escalado automático de capacidad de un plan de App Service.
Mi aplicación tiene un rendimiento 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. Esto 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. Esto 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, es probable que la aplicación realmente requiera 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 de proceso y, después, analice el volcado de memoria 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, es probable que la aplicación realmente requiera 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 de proceso y, después, analice el volcado de memoria del proceso. El diagnóstico de bloqueos de la galería de extensión de sitios de Azure puede realizar de manera eficaz estos dos pasos. 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. En nuestra entrada de blog Automate web apps hosted in Azure App Service by using PowerShell (Automatización de aplicaciones web hospedadas en Azure App Service mediante PowerShell), se describe cómo usar los cmdlets de PowerShell basada 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
Para ver los registros de eventos de una aplicación web
- 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.
Para capturar un volcado de memoria en modo usuario de una aplicación web
- 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 trabajo web.
- Seleccione Download Memory Dump>Full Dump (Descargar volcado de memoria > Volcado de memoria 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 de 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 encuentro mis archivos de registro en la estructura de carpetas de mi aplicación web cuando se usa la característica Caché local de App Service
Si utiliza la característica de caché local de App Service, la estructura de carpetas de las carpetas de archivos de registro y datos para la instancia de App Service se verá afectada. Cuando se utiliza la memoria caché local, se crean las subcarpetas en las carpetas de datos y de archivos de registro del almacenamiento. Las subcarpetas usan el patrón de nomenclatura "identificador único" + marca de tiempo. Cada subcarpeta se corresponde con una instancia de máquina virtual en donde se ejecuta la aplicación web o se ha ejecutado.
Para determinar si usa caché local, compruebe la pestaña Configuración de la aplicación de App Service. Si se usa 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.
En 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 Ir.
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 los seguimientos de solicitudes con error, en el portal, vaya al sitio web.
Seleccione Herramientas>Kudu>Ir.
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.