Hay varias cosas que puedes hacer:
1. Inicialización de la aplicación
Puede usar el Módulo de inicialización de aplicaciones que viene en la caja con IIS 8.0
puedes tener algo como esto en tu web.config
<applicationInitialization
doAppInitAfterRestart="true" >
<add initializationPage="/" />
</applicationInitialization>
Esto enviará una solicitud a la raíz de su aplicación ( initializationPage="/"
) cada vez que su aplicación se inicie automáticamente.
También puede configurar el Modo de inicio para su grupo de aplicaciones, lo Always Running
que significa que cada vez que IIS se reinicie, se asegurará de iniciar su grupo de aplicaciones de inmediato (esto si hace clic derecho en su grupo de aplicaciones y luegoAdvanced Settings
y Preload
para su sitio en sí (haga clic derecho en el sitio y Manage Site
luegoAdvanced Settings
2. Desactivar el tiempo de espera inactivo
Además, puede deshabilitar idleTimeout (de manera predeterminada, IIS cerrará la aplicación después de 20 minutos de actividad) cambiando la entrada de Idle Time-out
su grupo de aplicaciones a 0 (infinito)
3. Desactiva el reciclaje periódico
también apaga Regular Time Interval (minutes)
por defecto IIS reciclaría su aplicación cada 29 horas.
por
applicationInitialization
entra en<configuration><system.webServer>
Desde mi experiencia, AlwaysRunning y Preload habilitado no acelera mucho. La mayor parte del tiempo de espera se realiza en la compilación dinámica (que se puede arreglar con la precompilación aspx) y en cargar ensamblados en la memoria y el almacenamiento en caché.
fuente