Ajuda tentando descobrir por que o IIS7 está travando / bloqueando / negando conexões

2

Eu tenho um site bastante ocupado que está sendo executado em uma única máquina front-end da web, no W2K8 + IIS7.

De vez em quando - por exemplo. talvez segunda-feira às 3 da manhã ou algo assim, alguns dias depois ... algum tempo de manhã cedo ... então nada por duas semanas ... etc - o site não responde a nenhuma conexão de cliente.

ie. ninguém pode se conectar ao site.

Eu posso usar a área de trabalho remota na máquina, etc. sem problemas.

Eu reinicio o pool de aplicativos (o site está sendo executado no modo integrado), ainda nada. Eu tento e obter um despejo de memória do processo (é cerca de 600 mb talvez ainda mais) ... que falha após cerca de um minuto de tentativa (e eu tenho muito espaço HD).

A única maneira de corrigir esse problema é parar manualmente o serviço www e iniciá-lo novamente. A parada demora um pouco (um minuto?) Enquanto a partida é quase instantânea.

Não consigo descobrir qual parte do meu código está causando isso. No começo, eu pensei que poderia ser um estouro de pilha por causa de algum erro que pode estar indo para a página de erro, que por sua vez erros .. enxaguar repetir boom. Mas eu dei uma olhada na página de erro e me sinto bem.

Assim, espero que alguém possa ajudar e dizer como posso obter corretamente um despejo adequado do processo do IIS para que possa fazer mais autópsias nele. Eu enviaria um e-mail para Tess Ferrandez (a deusa da depuração de travamento), mas eu pensei em tentar aqui antes de enviar um spam para ela.

Alguém pode ter alguma sugestão de como eu posso descobrir como começar a depurar esse problema?

    
por Pure.Krome 14.02.2010 / 05:39

2 respostas

0

Eu encontrei a resposta há algum tempo.

O aplicativo estava travando por qualquer motivo (eu ainda não consegui descobrir exatamente onde), mas por que o IIS estava parando, era que estava acontecendo muito, em um curto período - o IIS se refere a isso como PROTEÇÃO DE RAFI-FAIL .

Aqui está uma captura de tela de algumas configurações típicas. Se eu entendi isso corretamente, está dizendo que, se houver 5 falhas em 5 minutos, pare esse pool de aplicativos e responda com a mensagem Serviço indisponível. (Nesta captura de tela, a Proteção rápida contra falhas está desativada).

texto alternativo http://www.west-wind.com/WebLog/images/200602 /ApplicationPoolRapidFailProtection.png

Então é por isso que meu site estava "negando conexões". O pool de aplicativos foi avisado para STOP (colaborar e ouvir ...) e retorna um 503 for any new connections até um humano ( cough me cough ) verificou o que estava acontecendo e reiniciou manualmente o pool de aplicativos.

    
por 22.07.2010 / 02:17
1

Algumas coisas a considerar:

  1. Quando ele pára de funcionar, o que o processo www está fazendo? (ou seja, consumindo CPU, consumindo memória, com linhas planas?)
  2. Do servidor você pode fazer telnet para o site (nome do host ou endereço IP) ou a conexão falha?
  3. Será que sempre falha no início da manhã? Você está correndo alguma coisa nessa época? Backups, processamento em lote ou material de banco de dados?
  4. O seu processo asp.net consome muito memória RAM ou cpu?
  5. Se você criar um segundo site nonasp.net (plain html), ele continuará funcionando?
por 14.02.2010 / 06:05