Qual é a maneira “amigável” de reiniciar o IIS?

2

Executando o IIS 6 na Web do Windows Server 2003.

Temos alguns componentes de terceiros que vazam memória, por isso agendamos trabalhos periódicos para reiniciar o IIS. As tarefas estão simplesmente chamando iisrestart /reset , o que parece fazer o trabalho ... mas com certeza gera uma grande quantidade de eventos de log de Eventos - incluindo 3 erros e um aviso. Talvez estejamos fazendo errado?

Existe uma maneira "mais limpa" de reciclar o (s) processo (s) do IIS sem que o Windows fique chateado conosco? À medida que nosso monitoramento é aprimorado, os eventos de erro nos servidores da web do prod causam distrações desnecessárias.

Para aqueles curiosos, aqui está o que os eventos "ciclo" parece (eu abreviei o texto da descrição um pouco para ser breve). Tudo isso acontece em um intervalo de 1 a 2 segundos:

Aviso - WinRM - ID 10149 - O serviço WinRM não está atendendo a solicitações do WS-Management

Info - IISCTLS - ID 6 - O IIS Reset encontrou um erro ao interromper os serviços

Info - Service Control Manager - ID 7035 - Serviço SMTP foi enviado com sucesso um controle de parada

Info - Gerenciador de Controle de Serviços - ID 7035 - O Serviço de Gerenciamento Remoto do Windows enviou com sucesso um controle de parada

Info - Gerenciador de Controle de Serviços - ID 7036 - Gerenciamento Remoto do Windows entrou no estado parado

Erro - Gerenciador de Controle de Serviços - ID 7034 - O serviço de publicação na World Wide Web foi encerrado inesperadamente. Isso foi feito x vezes

Erro - Gerenciador de controle de serviços - ID 7034 - O serviço de administração do IIS foi encerrado inesperadamente

Erro - Gerenciador de Controle de Serviços - ID 7034 - O serviço SMTP foi encerrado inesperadamente

Info - IISCTLS -ID 4 - Comando kill do IIS recebido do usuário.

Info - IISCTLS - ID 2 - Comando de parada do IIS recebido do usuário.

Info - Gerenciador de Controle de Serviços - ID 7035 - O serviço IIS Admin Service foi enviado com sucesso a um controle de início

Info - Service Control Manager - ID 7035 - Serviço de publicação na World Wide Web foi enviado com sucesso um controle de início

Info - Gerenciador de Controle de Serviços - ID 7035 - O serviço SMTP foi enviado com sucesso a um controle de início

Info - Gerenciador de Controle de Serviços - ID 7035 - O serviço de Gerenciamento Remoto do Windows foi enviado com sucesso a um controle de início

    
por Chris_K 08.02.2010 / 18:53

2 respostas

5

Você está executando o IIS no modo de isolamento do processo de trabalho? Nesse caso, uma solução melhor seria usar os recursos de reciclagem do pool de aplicativos. Você pode colocar o aplicativo ofensivo em seu próprio conjunto e, em seguida, reiniciar apenas seu processo com base em vários critérios (a cada X minutos ou quando o uso de memória atingir Y megabytes ou quando você tiver solicitações Z para o aplicativo, etc.)

link

    
por 08.02.2010 / 19:02
1

A resposta do MattB é a melhor (IMO), outra opção é eliminar o processo do Pool de aplicativos.

Isso requer um pouco mais de trabalho porque você precisa:

  1. Determine o PID do pool de aplicativos que você deseja matar.
  2. Mate o PID

No entanto, isso não faz uma reciclagem de todo o Serviço IIS (que é o que está gerando as mensagens em seu log).

    
por 09.02.2010 / 01:34