IIS 6 pools de aplicativos "Morto" não podem ser parados ou reciclados

3

Em uma máquina de produção que eu gerencio, os pools de aplicativos morrem periodicamente. Depois que eles morrem, parece impossível parar ou redefini-los sem emitir um iisreset. Nesse caso, uso a palavra "morrer" para indicar que os sites hospedados pelo pool de aplicativos não respondem mais a solicitações.

Existem 7 pools de aplicativos; 4 nunca morrem, e os outros 3 morrem irregularmente. No passado, uma piscina diminuiu apenas uma hora depois de um iisreset. Estou quase certo de que o problema em cada pool está sendo causado por algum aplicativo no pool. Eventualmente eu vou rastrear esse problema.

Veja por que preciso da sua ajuda. Quando uma piscina morre, parece que não consigo parar ou reciclar. No Gerenciador do IIS, tentar reciclar um pool morto congela o gerente e sou forçado a forçar a sua eliminação. Tentando parar um pool morto causa um travamento que eventualmente termina com uma mensagem de erro que o pool não respondeu à solicitação de parada ou controle. A única maneira que eu consegui trazer o (s) pool (s) de aplicativos foi fazer um iisreset.

Depois que um pool morre, ele não aparece na saída do iisapp.vbs.

Não há sinais de problemas no log de eventos do aplicativo.

O sistema é o Windows Server 2003 R2 SP 2. Os pools de aplicativos que estão tendo problemas são preenchidos por aplicativos da Web ASP.NET.

O que está acontecendo aqui? Existe alguma forma de linha de comando para fazer com que um pool de aplicativos (re) comece? Há algo de errado com a minha configuração que está me impedindo de reciclar um desses pools de aplicativos mortos?

    
por Eric 02.06.2011 / 21:34

1 resposta

1

Parece que esses pools "mortos" estão mais ou menos presos em algum lugar, talvez em um loop infinito, então eles não estão respondendo a solicitações stop / recycle do IIS.

O que acontece se você der uma olhada no Gerenciador de Tarefas dos processos "w3wp.exe"? Você deve ter alguns deles, cada um servindo um pool de aplicativos; se este for um problema de loop infinito, o processo que atende o conjunto "morto" estará usando intensamente o tempo da CPU (tipicamente, maximizando um único núcleo da CPU); você pode identificá-lo e matá-lo do Gerenciador de Tarefas.

    
por 03.06.2011 / 17:12