2009-09-14 18 views
11

Tengo un proyecto en asp.net mvc, mi hosting usa IIS6 y la primera solicitud después de que el sitio web está inactivo es muy lento. Miré, http://forums.asp.net/t/1418959.aspx y le pedí al servidor esta configuración. Dicen que la configuración real es:La primera solicitud es muy lenta después de que el sitio web se queda inactivo con Asp.net mvc IIS6

"El grupo se establece con Idle Timeout deshabilitado, Rapid-fail habilitado y con un solo proceso de trabajo."

Pero aún lento en la primera solicitud. ¿Tienes alguna otra pista?

Gracias de antemano,

Alfredo

+0

En el servidor, intente esto: Ejecutar -> inetmgr -> expand MACHINE (computadora local) -> seleccione Grupos de aplicaciones -> haga clic derecho en el grupo de aplicaciones -> Propiedades -> pestaña Rendimiento -> Desmarque "Cerrar el proceso de trabajo después de ser inactivo por: (tiempo en minutos) ". (Además, el tiempo de reciclado se puede ajustar en la pestaña Reciclaje de este aviso.) – Patrick

Respuesta

2

Sólo una conjetura, pero quizás esté almacenamiento en caché algunos datos, que necesita actualizarse después de que el sitio ha estado inactivo durante algún tiempo?

Si este no es el caso, supongo que el proceso de trabajo se ha cerrado por alguna razón (podría ser por alguna otra razón que no sea el tiempo de espera inactivo en IIS). Si necesita verificar si este podría ser el caso, podría agregar algún código al evento Application_Start que registra el evento de inicio en un archivo o en cualquier otro registro que haya implementado. Después de algún tiempo de funcionamiento, puede examinar los registros y ver cuántos eventos de Application_Start se han producido.

+0

No, no capturo nada. Ya le pedí al hosting que registrara los eventos del proceso de trabajo, consulte: http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/87892589-4eda-4003-b4ac-3879eac4bf48.mspx?mfr=true pero lo intentaré también. ¡Gracias! –

5

Esto es natural.

IIS a menudo se configura para cerrar el sitio web si es una cierta edad o si no ha habido una solicitud por un tiempo. Su sitio web debe cargarse (y posiblemente compilarse) cuando llega la primera solicitud después de que IIS haya cerrado asp.net.

La solución común es precompile your website antes de publicarla en el servidor.

+0

Estoy de acuerdo contigo – omoto

+2

Precompilar no importa con ASP.NET MVC, es un proyecto de tipo de aplicación web bajo el capó. –

+0

Wyatt tiene razón http://stackoverflow.com/questions/336205/can-i-precompile-my-asp-net-mvc-application –

8

Probablemente sea víctima de worker process recycling. Pregúntele a su anfitrión con qué frecuencia se reciclan los procesos de los trabajadores.

Cuando se recicla un proceso de trabajo, tiene que recompilar y reiniciar toda la aplicación web, y eso es lo que causa la desaceleración.

+0

Sí, ese fue mi primer intento, como es la solución propuesta en el enlace que puse, pero el hosting ya cambió la configuración para eso y aún no funciona. ¡Pero gracias! –

+2

¿Cuánto tiempo transcurre antes de que ocurra la desaceleración? Además, el proceso de reciclaje y el tiempo de espera inactivo no son lo mismo (podría no haberlo aclarado): ¿está seguro de que su servidor cambió el correcto? –

+0

Ok! No te entendí, mi anfitrión dice que el proceso de trabajo se realiza cada 24 horas.Ahora está funcionando bien precompilando el sitio web, pero estableceré un entorno de prueba e intentaré registrar algunos eventos para saber cuánto tiempo lleva, quiero encontrar una solución sin precompilar. Yo lo haré saber. ¡Gracias de nuevo! –

Cuestiones relacionadas