IIS 7, os sites ficam suspensos até que o pool de aplicativos seja redefinido?

1

Temos dois sites instalados no Windows Server 2008 R2 e no IIS 7 que ocasionalmente são suspensos quando o respectivo pool de aplicativos é reciclado.

Por travar, quero dizer que o navegador tentará recuperar o site e tentará carregá-lo por um tempo muito longo; às vezes, após 5 a 10 minutos, ele começará a exibir a página da Web, às vezes não mostra nada, mesmo depois disso tempo e o navegador ainda parece estar tentando carregar a página da web.

O trabalho atual é fazer logon no console IIS 7 aberto do servidor e reciclar para o processo de trabalho ao qual o site está conectado.

O que causa isso e como resolvemos esse problema permanentemente?

    
por sec_goat 19.11.2013 / 14:29

2 respostas

2

Você já revisou seus logs do IIS quando isso ocorre? Esse pode ser o primeiro lugar para começar.

Isso pode ser causado pelo término ou dificuldade do pool de aplicativos devido a muitos erros. Se você acessar as configurações avançadas do pool de aplicativos, haverá uma seção de proteção contra falhas rápidas.

Você pode aumentar o intervalo de falhas e também as falhas máximas (a quantidade de falhas permitidas nesse intervalo), mas isso não resolverá seu problema, mas pode impedir que a frequência ocorra.

Na seção de reciclagem, você também pode forçar o pool de aplicativos a reciclar automaticamente em intervalos especificados, mas isso pode causar perda de dados na sessão e redefinir alguma coisa para os usuários finais. Isso também só pode ajudar a interromper a frequência, mas não o problema básico do problema.

A melhor coisa a fazer é descobrir por que está parando. Se este é um aplicativo asp.net, você pode executar uma ferramenta como elmah para registrar todas as suas exceções que estão ocorrendo em seu aplicativo e trabalhar para consertá-las.

    
por 22.11.2013 / 18:28
0

Você verificou o uso da CPU durante o "travamento"? Um loop infinito no código do aplicativo causará exatamente esse comportamento. A menos que haja E / S, bloqueio ou suspensão no loop, você poderá vê-lo a partir do uso da CPU, pois obterá exatamente o uso de CPU de um núcleo completo para cada loop infinito.

    
por 02.01.2015 / 06:31