IIS 8.5 início a frio

1

Eu tenho um pequeno aplicativo da Web ASP.NET MVC 5 hospedado no VDS.
O VDS tem a seguinte configuração: CPU de 2,6 Gz, 1 Gb de RAM, SSD de 20 GB, Windows Server 2012 R2, IIS 8.5.

Existem no máximo 5 usuários simultâneos que podem acessar este site. Tudo está funcionando rápido, mas a inicialização a frio pode levar muito tempo. Eu sei que existem diferentes opções para diminuir o tempo de inicialização a frio:

  • Eu posso fazer o pool de aplicativos "sempre em execução" e definir preloadEnabled como true.
  • Ou eu posso usar o novo recurso "suspender" do IIS 8.5.

Pode haver outras possibilidades das quais não conheço. Qual é a melhor estratégia para diminuir o tempo de inicialização a frio do meu aplicativo?

Solução:

  • Como sugerido, aumentamos o tempo limite de desligamento do AppPool. Mas, em vez de configurá-lo para 12 horas, configurei-o para 0 (desativado) e planejei a reciclagem do AppPool para 04:00.
  • Ativei Inicialização do aplicativo e configurou para enviar solicitação para uma página especial, que realiza a inicialização. No meu aplicativo, foi a inicialização do DbContext.
  • O módulo de inicialização de aplicativos só pode fazer solicitações http, mas todo o meu aplicativo foi protegido pelo ASP.NET MVC RequreHttpsAttribute. Então, inicialmente, não funcionou. Há uma solução alternativa ao desativar o redirecionamento http para https nas solicitações locais, conforme descrito aqui .
por ranquild 18.02.2015 / 19:07

1 resposta

0

"Sempre em execução" é a melhor opção dos sons dela. Passado que você precisaria fornecer mais detalhes.

Você está atualizando o aplicativo frequentemente durante o dia? Em caso afirmativo, você está fazendo coisas na inicialização do aplicativo? Pré-carregando dados no cache / etc?

São as preocupações monetárias / de recursos que você tem para "não executá-lo"? Pode estender o tempo limite de desligamento do AppPool para 12 horas e escrever uma tarefa agendada para atingir seu aplicativo antes de os usuários chegarem lá. Desta forma, pode ser desligado durante a noite.

    
por 20.02.2015 / 19:16