Vous pouvez faire plusieurs choses:
1. Initialisation de l'application
Vous pouvez utiliser le module d'initialisation d'application fourni avec IIS 8.0
vous pouvez avoir quelque chose comme ça dans votre web.config
<applicationInitialization
doAppInitAfterRestart="true" >
<add initializationPage="/" />
</applicationInitialization>
Cela enverra une demande à la racine de votre application ( initializationPage="/"
) chaque fois que votre application démarre automatiquement.
Vous pouvez également configurer le mode de démarrage de votre pool d'applications, Always Running
ce qui signifie qu'à chaque redémarrage d'IIS, il s'assurera de démarrer votre pool d'applications immédiatement (ceci si un clic droit sur votre pool d'applications puisAdvanced Settings
et Preload
pour votre site lui-même (clic droit sur le site Manage Site
puisAdvanced Settings
2. Désactiver le délai d'inactivité
De plus, vous pouvez désactiver idleTimeout (par défaut, IIS arrêtera l'application après 20 minutes d'activité) en modifiant l'entrée dans Idle Time-out
de votre pool d'applications sur 0 (infini)
3. Désactivez le recyclage périodique
désactiver également Regular Time Interval (minutes)
par défaut IIS recyclerait votre application toutes les 29 heures.
Pour
applicationInitialization
passe<configuration><system.webServer>
D'après mon expérience, AlwaysRunning et Preload activé n'accélèrent pas beaucoup. Le temps d'attente le plus long va à la compilation dynamique (qui peut être corrigée avec la précompilation aspx) et au chargement des assemblages en mémoire et en cache.
la source