2010-11-18 15 views
8

Tenemos una página que realiza una solicitud al servicio web de una tercera parte. Cuando está bajo carga pesada, este tiempo de respuesta se extiende significativamente, sin embargo, la tercera parte informa que los tiempos de procesamiento permanecen constantes. Los horarios muestran que, desde el momento en que reciben una solicitud hasta el momento en que la envían, siempre es de alrededor de 1.5 a 2.0 segundos. Ahora estamos experimentando tiempos de espera de más de 20 segundos. Mi comprensión de ASP.NET es que cada solicitud se ejecutará en un subproceso de grupo de subprocesos de IIS y se procesará la solicitud al servicio tercero. Entonces realmente no entiendo lo que podría estar bloqueando de nuestra parte. ¿¿Hay algo que este olvidando?? ¿Existe un límite umbral más allá de IIS que está bloqueando?¿Múltiples llamadas al mismo bloqueo de servicio web?

Si me falta algo, una recomendación física del libro que cubra este tema también sería una buena adición a cualquier respuesta.

+0

hace la página realiza la solicitud desde el lado del cliente o del servidor? –

+0

Hace la solicitud desde el lado del servidor, ¿eso importa? :) –

+0

+1 buena pregunta – PRR

Respuesta

9

.Los límites de .NET imponen un límite de 2 solicitudes web concurrentes a un solo host como lo sugiere la especificación HTTP. Entonces, en su caso, no es el servicio web el que necesita más tiempo para ejecutarse, sino que su aplicación retrasa las solicitudes para mantenerse dentro de esta restricción.

Puede aumentar el límite para el servicio web mediante la adición de esta clave a su fichero de configuración:

<system.net> 
    <connectionManagement> 
     <!-- specific servers... --> 
     <add address="http://example.org" maxconnection="20" /> 

     <!-- ...or any server --> 
     <add address="*" maxconnection="8" /> 
    </connectionManagement> 
    </system.net> 
+0

esto solo sería el caso si el mismo hilo en el lado del servidor está haciendo las solicitudes. si hay múltiples usuarios, por lo tanto, múltiples sesiones de asp.net, cada uno de ellos estará en su propio hilo y no tendrá estas limitaciones. ¿derecho? –

+0

@Mike, eso no es cierto. El límite afecta a todos los hilos en el proceso, en el caso de ASP.NET incluso aplicaciones diferentes que se ejecutan en el mismo grupo de aplicaciones. – realMarkusSchmidt

+0

wow, no lo sabía. –

Cuestiones relacionadas