2010-01-20 20 views
39

De vez en cuando (siempre después de un largo período de inactividad, por ejemplo, durante la noche) cuando accedo a un sitio creado con asp.net, la página tarda unos 15 segundos en cargarse (15 segundos antes de ver algún progreso, la página aparece rápidamente).Carga lenta de la primera página en el sitio asp.net

Las páginas adicionales en este sitio, o actualizaciones, son rápidas como de costumbre, también son rápidas en otras máquinas, solo que la primera parece tener el 'hit'.

Página trazado nunca a través de cualquier cosa hasta (ciclo completo era una fracción de segundo)

Así que mi pregunta es dónde más debería estar buscando? Quizás IIS? ¿O podría seguir siendo mi aplicación asp.net y solo estoy buscando en el lugar equivocado (el rastro) pistas?

Como no tengo mucho control sobre el servidor IIS, cualquier cosa que pueda verificar a través de asp.net sería más útil, antes de ir a preguntar a ese administrador en particular.

aplausos: D

+1

¿el uso de la ayuda ngen.exe con este tipo de problema? http://msdn.microsoft.com/en-us/library/6t9t5wcf(VS.80).aspx –

Respuesta

39

El grupo de aplicaciones de IIS se cierra después de 30 minutos de inactividad. Después de eso, cuando haces una solicitud, IIS básicamente tiene que volver a iniciar el sitio web, lo que lleva al comportamiento que estás describiendo. Puede cambiar el tiempo de inactividad de su sitio web en iis para evitarlo.

+1

Me gustaría ir con esta respuesta. A menos que tenga pocos recursos del sistema, puede aumentar el valor del tiempo de espera. – modernzombie

+0

Gracias a Klausbyskov y toda la otra ayuda, muy apreciada.Sé exactamente dónde mirar ahora :) –

5

Puede programar el reciclaje del grupo de aplicaciones, posiblemente usando un script de calentamiento. Primero, dele su propio grupo de aplicaciones y vea si eso ayuda.

+1

@Taboloo: use una secuencia de comandos de actualización en el grupo de aplicaciones. Si su aplicación es grande y/o ocupa mucho espacio de memoria/CPU, entonces asegúrese de configurar la configuración de su grupo para manejar esta carga adicional. –

2

He encontrado el mismo problema en el pasado. Nunca logré llegar al fondo del problema, pero sospeché que los grupos de aplicaciones de IIS eran los culpables.

5

Confirmando las respuestas que indicaron que IIS apagará un inactivo, a medida que su sitio vuelva a la aplicación. OnStart se activará (dentro de su global.asa) Si está haciendo mucho trabajo aquí, esto puede ralentizar su aplicación. Otras cosas que suceden en todas sus memorias caché estarán vacías, toda su conexión DB se desconectará.

Este comportamiento se puede configurar en IIS, si no tiene acceso a la configuración de IIS, una forma estrafalaria sería llegar a su sitio cada 10 minutos desde un script o una página especial que tenga una actualización de metadatos.

Su otra opción es aceptar que el golpe de la primera página del día tardará unos segundos más que el uso.

Cuestiones relacionadas