Classic ASP 'Solicitudes en ejecución' nunca mayor que 1

Tenemos una aplicación compleja que sirve transmisiones AJAX JSON (usando ADO para capturar los datos) usando breves servlets ASP. Cualquier sesión dada puede activar de 10 a 20 de estas solicitudes simultáneamente. Encontramos un problema de rendimiento significativo mucho antes de lo que esperábamos a medida que se creaba la carga. (El servidor es dual-XEON, RAID 5, 4 gb, etc.). Investigando en perfmon, notamos que la cifra de 'Solicitudes en ejecución' está perpetuamente atascada en 1. Nunca sube más. Las investigaciones indican que los números de 20 a 50 no son infrecuentes. Las solicitudes en cola oscilarán entre 10 y 20 y el tiempo de espera también aumentará.

Hemos jugado con ASPProcessorThreadMax establecido en 40 desde el valor predeterminado de 25 sin ningún efecto. Parece que solo puede trabajar con una sola solicitud a la vez, lo que, por supuesto, no funcionará. No puedo encontrar nada que describa este problema en particular. Cualquier ayuda es muy apreciada.

preguntado el 12 de junio de 12 a las 20:06

ver este hilo stackoverflow.com/questions/6123453/… ¿Hay alguna diferencia si sus solicitudes son sincronizadas o asíncronas? Además, si reemplaza el ADO con algunos datos fijos, ¿sigue existiendo el problema? -

¿Estás tratando con variables de sesión? ver este hilo stackoverflow.com/questions/2326817/… -

¿Por qué ha incluido la etiqueta asp.net para un problema clásico de asp? Los dos comentarios hasta ahora apuntan a respuestas de ASP.NET que probablemente sean pistas pero no definitivas. -

1 Respuestas

El objeto de sesión ASP está restringido a un apartamento de subproceso único (STA). Como resultado, las solicitudes a secuencias de comandos ASP para la misma sesión solo se pueden procesar secuencialmente.

Una razón adicional por la que es posible que solo vea 1 secuencia de comandos ASP ejecutándose incluso en varias sesiones es donde se ha habilitado la depuración para ASP. Esto hace que el procesamiento de ASP ignore ASPProcessorThreadMax y simule que se estableció en 1.

Para eliminar el problema asegúrese de que la depuración no esté habilitada y desactive "Habilitar estado de sesión". Si está utilizando el objeto Session en su código, deberá encontrar una alternativa, como el estado respaldado por DB.

Sin embargo, ¿cuántas sesiones concurrentes activas espera en la producción en vivo? Quizás la experiencia general del usuario no se vea realmente afectada por la serialización de solicitudes por sesión.

Respondido el 27 de junio de 19 a las 19:06

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.