Há várias coisas que você pode fazer:
1. Inicialização do aplicativo
Você pode usar o Application Initialization Module que vem na caixa com o IIS 8.0
você pode ter algo assim no seu web.config
<applicationInitialization
doAppInitAfterRestart="true" >
<add initializationPage="/" />
</applicationInitialization>
Isso enviará uma solicitação para a raiz do seu aplicativo ( initializationPage="/"
) toda vez que ele for iniciado automaticamente.
Você também pode configurar o Modo Iniciar do seu pool de aplicativos, o Always Running
que significa que toda vez que o IIS for reiniciado, ele iniciará o pool de aplicativos imediatamente (isso se você clicar com o botão direito do mouse no pool de aplicativos e, em seguida,Advanced Settings
e Preload
para o seu próprio site (clique com o botão direito do mouse no site e Manage Site
depoisAdvanced Settings
2. Desativar tempo limite ocioso
Além disso, você pode desativar o idleTimeout (por padrão, o IIS desligará o aplicativo após 20 minutos de atividade) alterando o de in Idle Time-out
do seu pool de aplicativos para 0 (infinito)
3. Desative a reciclagem periódica
também desabilite Regular Time Interval (minutes)
por padrão o IIS reciclaria seu aplicativo a cada 29 horas.
Para
applicationInitialization
entra<configuration><system.webServer>
De acordo com minha experiência, o AlwaysRunning e o Preload ativado não aceleram muito. O maior tempo de espera passa pela compilação dinâmica (que pode ser corrigida com pré-compilação aspx) e pelo carregamento de assemblies na memória e no cache.
fonte