Implementé recientemente una aplicación ASP.NET en mi brillante nuevo VPS y, aunque estoy contento con el aumento en el rendimiento general que un VPS puede ofrecer sobre una solución de hosting compartido, no estoy satisfecho con el tiempo de inicio de mi aplicación .Cómo mantener mi aplicación ASP.NET siempre "activa", y si es una mala idea, ¿por qué no debería hacerlo?
Mi aplicación web tarda bastante tiempo en arrancar cuando mi cliente la visita por primera vez. No lo estoy ejecutando en modo de depuración (deshabilitado en mi web.config), y no tiene ningún trabajo real que hacer en el inicio - No tengo código en el controlador de eventos de inicio de mi aplicación, no comienzo ningún hilos adicionales, nada. La primera vez que mi cliente golpea mi aplicación, toma unos buenos 15-20 segundos para responder. Las llamadas posteriores tardan de 1 a 2 segundos, a menos que espere unos minutos para que se cierre la aplicación. Luego, vuelve a un tiempo de inicio de 15-20 segundos.
(Soy consciente de que mi referencia de tiempo es muy poco científica, esas cifras solo deberían dar una idea del rendimiento en el inicio de mi aplicación).
Mi comprensión de ASP.NET fue que IIS (7.0, en este caso), compila una aplicación web la primera vez que se ejecuta, y luego almacena esos binarios en caché hasta el momento en que se cambia la aplicación web. ¿Es mi entendimiento incorrecto?
Así, después de que el prefacio tamaño de un libro, aquí están mis preguntas:
- es mi entendimiento de la compilación de ASP.NET incorrecto? ¿Cómo funciona realmente?
- ¿Hay alguna forma de forzar a IIS a almacenar en caché mis binarios o mantener mi aplicación activa indefinidamente?
- Si es una mala idea hacer alguna de las cosas de mi pregunta anterior, ¿por qué es una mala idea y qué puedo hacer para aumentar el rendimiento de inicio?
Gracias!
Editar: aparece mi pregunta es un ligero duplicado de this question (creo que lo hice un mejor trabajo de buscar una respuesta a esta de aquí, jaja). Creo, sin embargo, que mi pregunta es más exhaustiva, y agradecería que no se cerrara como un duplicado a menos que haya mejores preguntas ya formuladas aquí que aborden esto.
Iba a sugerir el mismo enfoque que los otros contestadores de preguntas similares sugeridos. ¿Estás seguro de que las respuestas a esa pregunta no satisfarán tus necesidades? Creo que explican la situación bastante bien. – DOK
@DOK, gracias por sus comentarios, la otra pregunta fue buena en cuanto al "cómo" de mi pregunta, pero creo que mi pregunta cubre más sobre el "por qué" y las mejores prácticas de este tema. –
Creo que el algoritmo de búsqueda utilizado en SO es realmente malo, de ahí los duplicados. –