2010-10-15 18 views
9

Estoy usando ASP.Net4 MVC2 para mi aplicación. La primera persona que usa la aplicación generalmente experimenta una larga espera antes de que la aplicación responda. Después de eso, la aplicación es bastante receptiva. Si la aplicación está inactiva durante 15 minutos, la misma persona o la siguiente persona que use la aplicación experimentarán una larga espera nuevamente. Parece que la aplicación se compila después de estar inactiva durante 15 minutos. ¿Puede alguien decirme dónde debo mirar para resolver el problema? Gracias.la aplicación compila cada 15 minutos

Respuesta

8

Es casi seguro que lo que está experimentando es aplicación de reciclaje de piscinas. Es cierto que toma un tiempo reiniciarse una vez que se recicló el conjunto, pero no debería demorar tanto. ¿Cuánto tiempo es una "larga espera"? ¿Un segundo? ¿Varios? En IIS, puede configurar la frecuencia con la que se recicla su grupo de aplicaciones. Para IIS 7, haga clic con el botón derecho en su grupo de aplicaciones y seleccione "Configuración avanzada" y luego consulte "Tiempo de espera inactivo". Puede considerar aumentar este valor. (O establézcalo en 0 para deshabilitarlo por completo.)

+0

que establezca el reciclaje de grupo de aplicación a las 1 am cada día, pero aún así está sucediendo durante las horas de oficina después de un periodo de inactividad corto. La espera es de alrededor de 30 segundos a 1 minuto. – user266909

+1

@ user266909, pero ¿ajustó el "Tiempo de inactividad"? –

6

Primero debe diagnosticar el problema con precisión antes de comenzar las soluciones de implementación. Primero tiene que verificar si es, de hecho, un reciclaje de grupo de aplicaciones. Usted puede comenzar mediante la adición de esta sección para su web.config:

<healthMonitoring> 
     <rules> 
     <add name="Application Lifetime Events Default" 
      eventName="Application Lifetime Events" 
      provider="EventLogProvider" 
      profile="Default" 
      minInstances="1" 
      maxLimit="Infinite" 
      minInterval="00:01:00" 
      custom="" /> 
     </rules> 
</healthMonitoring> 

se registrará un evento para el evento ventanas asp.net registro en cualquier momento se recicla. También dará un razón para el reciclaje (por ejemplo, alguien pinchó web.config, etc.). Si es un reciclaje, entonces necesita averiguar por qué está reciclando. ¿Es porque IIS está configurado para hacerlo sin importar qué? ¿Es porque su aplicación no maneja la memoria correctamente y la presión de la memoria está causando que asp.net quiera reciclarse? Estas preguntas deben ser respondidas primero.

Primero determine si se trata de un reciclaje agregando a la configuración anterior y por qué. Una vez que obtenga la respuesta, puede verificar la memoria, etc.

+0

¿Qué sección de web.config debo poner ? Gracias. – user266909

+1

Ponlo como un hijo directo de - http://msdn.microsoft.com/en-us/library/2fwh2ss9.aspx –

Cuestiones relacionadas