Compartir a través de


Solución de problemas de bloqueos del grupo de aplicaciones en una máquina virtual de Cloud Services

En este artículo se describe cómo resolver los bloqueos del grupo de aplicaciones en una máquina virtual (VM) en Microsoft Azure Cloud Services. Si un grupo de aplicaciones se bloquea, la aplicación dejará de responder.

Paso 1: Comprobación de errores en procesos que atienden grupos de aplicaciones

En Visor de eventos, si selecciona Sistema de registros> de Windows en el árbol de consola, es posible que vea uno de los eventos siguientes:

Un proceso que atiende al grupo de aplicaciones '%1' sufrió un error de comunicación grave con el servicio de activación de procesos de Windows. El identificador del proceso era '%2'. El campo de datos contiene el número de error.

Un proceso que atiende al grupo de aplicaciones '%1' finalizó inesperadamente. El identificador del proceso era '%2'. El código de salida del proceso era '%3'.

Estos eventos indican claramente un bloqueo del grupo de aplicaciones. Dado que algo salió mal dentro de la aplicación, el grupo de aplicaciones tenía que terminarse. Una vez finalizado el grupo de aplicaciones, también se finaliza su proceso de w3wp.exe correspondiente. Se borrará cualquier información basada en caché o basada en sesión que guardó en el proceso de w3wp.exe .

Idealmente, cuando un grupo de aplicaciones se bloquea, se genera automáticamente un nuevo proceso de w3wp.exe para respetar las solicitudes entrantes. Sin embargo, si el grupo de aplicaciones se bloquea más de cinco veces en un período de cinco minutos, el grupo de aplicaciones entra en un estado detenido. Tendrá que reiniciar el grupo de aplicaciones manualmente para ponerla en funcionamiento. Si ocurre algo similar, observará el siguiente evento en los registros del sistema en Visor de eventos:

El grupo de aplicaciones '%1' se deshabilita automáticamente debido a una serie de errores en los procesos que atienden ese grupo de aplicaciones.

Puede configurar estas opciones en el cuadro de diálogo Configuración avanzada del grupo de aplicaciones, en la sección Protección rápida por error. La propiedad Enabled tiene un valor predeterminado de True. Si la propiedad Enabled es True, el grupo de aplicaciones se detendrá después de alcanzar el límite de errores dentro de un tiempo determinado. El límite de errores se representa mediante la propiedad Maximum Failures . Esta propiedad tiene un valor predeterminado de 5. El intervalo de tiempo se representa mediante la propiedad Intervalo de error (minutos). Esta propiedad también tiene como valor predeterminado 5.

Captura de pantalla del cuadro de diálogo Configuración avanzada del grupo de aplicaciones, sección Protección con errores rápidos.

Paso 3: Capturar los archivos de volcado de w3wp.exe proceso

Después de determinar que la aplicación se bloqueó, determine exactamente por qué se bloqueó. Tendrá que capturar un archivo de volcado de memoria del proceso de w3wp.exe justo antes de que finalice. Hay muchas maneras de capturar este archivo. Puede configurar Informe de errores de Windows (WER), ProcDump y DebugDiag para capturar un archivo de volcado de memoria. En este artículo solo se describe el método DebugDiag para capturar datos.

Para descargar e instalar DebugDiag, siga estos pasos:

  1. Vaya al sitio de la herramienta de diagnóstico de depuración v2 y seleccione Descargar.

  2. Para Elegir la descarga que desee, seleccione la versión de archivo de Microsoft Windows Installer (MSI) adecuada para la arquitectura del equipo y, a continuación, seleccione Siguiente.

  3. Abra el archivo que ha descargado. En el asistente para la instalación, acepte las opciones predeterminadas y, a continuación, finalice la instalación de la aplicación.

Para configurar la aplicación DebugDiag 2 Collection , siga estos pasos:

  1. Seleccione Inicio, escriba DepurarDiag 2 Colección y, a continuación, abra la aplicación recién instalada en la lista de resultados.

  2. En el cuadro de diálogo Seleccionar tipo de regla, seleccione la opción Bloqueo y, a continuación, seleccione Siguiente.

  3. En el cuadro de diálogo Seleccionar tipo de destino, seleccione la opción Grupo de aplicaciones web de IIS específica y, a continuación, seleccione Siguiente.

  4. En el cuadro de diálogo Seleccionar destino , seleccione el grupo de aplicaciones específico que se bloquea y, a continuación, seleccione Siguiente. Si se abre una ventana que indica que la administración de Internet Information Services (IIS) no está instalada y que los grupos de aplicaciones no se mostrarán, seleccione Aceptar y escriba manualmente el nombre de la aplicación.

  5. En el cuadro de diálogo Configuración avanzada (opcional), seleccione Puntos>de interrupción Agregar punto de interrupción.

  6. Realice las siguientes selecciones para crear un nuevo punto de interrupción y, a continuación, seleccione Aceptar.

    Campo Descripción Valor
    Expresión de desplazamiento Proceso que se va a capturar Ntdll!ZwTerminateProcess
    Tipo acción Tipo de volcado de memoria capturado Userdump completo
    Límite de acciones Número de volcados de memoria que se van a capturar 10
  7. En el cuadro de diálogo Configurar puntos de interrupción, compruebe que se muestra el nuevo elemento Expresión de punto de interrupción. Seleccione Guardar y cerrar para volver al cuadro de diálogo Configuración avanzada (opcional) y, a continuación, seleccione Siguiente para activar el punto de interrupción.

  8. En el cuadro de diálogo Seleccionar ubicación de volcado y nombre de regla (opcional), escriba un nombre de regla y, a continuación, cambie la ubicación userdump a una unidad y directorio que tenga suficiente espacio libre en disco, si es necesario. (El tamaño de cada archivo de volcado coincidirá con lo que consume el proceso de w3wp.exe en memoria).

  9. Seleccione Siguiente.

  10. Para activar la regla, seleccione Finalizar.

Ahora, la regla de bloqueo está en un estado activo y el recuento de userdump es 0. Cuando se produce el problema, el recuento de volcados aumenta inmediatamente y se genera un archivo de volcado correspondiente.

Nota:

Un reciclaje normal del grupo de aplicaciones también puede desencadenar un archivo de volcado de memoria. Esto ocurre porque, cuando se recicla, cambia el identificador de proceso (PID) w3wp.exe correspondiente del grupo de aplicaciones. Esto genera un archivo de volcado de memoria. Este archivo es un falso positivo. Por lo tanto, no le ayudará a analizar el bloqueo del grupo de aplicaciones. Siempre que vea un incremento en el recuento de userdump, compruebe los registros de eventos para ver si se produjeron los eventos de bloqueo esperados. Si los eventos son los esperados, el volcado de memoria capturado es correcto.

Paso 4: Analizar los archivos de volcado de w3wp.exe proceso

Una vez capturado el archivo de volcado, puede abrir Iniciar>depuraciónDiag 2 Analysis. Esta aplicación le permite analizar el archivo de volcado de memoria capturado.

Asegúrese de que tiene la ruta de acceso del símbolo establecida correctamente. Se trata de un proceso de dos partes. En DepurarDiag 2 Análisis, seleccione Configuración (el icono de engranaje). En Rutas de acceso de búsqueda de símbolos que se van a usar para Análisis, compruebe que se seleccionan _NT_SYMBOL_PATH y servidores de símbolos públicos de Microsoft.

Vuelva a abrir DepurarDiag 2 Colección y seleccione Opciones y configuración de herramientas>. A continuación, en el cuadro de diálogo Opciones y configuración , asegúrese de que el cuadro Ruta de búsqueda de símbolos para depuración (es decir, Reglas de bloqueo) está establecido en srv*c:\symcache*https://msdl.microsoft.com/download/symbols. Esta ruta de acceso hace que DebugDiag descargue símbolos según sea necesario desde el servidor de símbolos públicos de Microsoft y, a continuación, almacenarlos en el directorio c:\symcache .

Después de cambiar o comprobar la configuración de la ruta de acceso del símbolo, puede analizar los archivos de volcado capturados. Para iniciar el análisis, vuelva a DepurarDiag 2 Analysis y, a continuación, haga doble clic en el nombre de un archivo de volcado de memoria. Una vez generado el informe, puede abrirlo en el explorador y comprender la pila de llamadas del subproceso que desencadenó la expresión de punto de interrupción. Lea la pila de llamadas de abajo a arriba y determine qué método o componente desencadenó el grupo de aplicaciones para bloquearse. Si no encuentra una pila de llamadas de excepción precisa, examine aún más la pila de llamadas de .NET en el mismo análisis de archivos de volcado.

Paso 5: Comprobar si hay excepciones no controladas en el proceso de w3wp.exe o WaWorkerHost.exe

Para comprobar también si hay excepciones no controladas que provocaron que el proceso de w3wp.exe o WaWorkerHost.exe se detenga, consulte Excepciones no controladas provocan ASP. Las aplicaciones basadas en NET se cierran inesperadamente en .NET Framework.

Aviso de declinación de responsabilidades sobre la información de terceros

Los productos de otros fabricantes que se mencionan en este artículo han sido creados por compañías independientes de Microsoft. Microsoft no ofrece ninguna garantía, ya sea implícita o de otro tipo, sobre la confiabilidad o el rendimiento de dichos productos.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.