O site falha após o recomeio do pool de aplicativos

1

No último fim de semana, nosso site em execução com o IIS 6.0 parou de lidar com chamadas para serviços da web. O arquivo de log foi preenchido com o seguinte erro até que o servidor foi reinicializado aproximadamente oito horas depois:

2011-05-08 01:53:12,109 ERROR - Execution permission cannot be acquired.

2011-05-08 01:53:12,135 ERROR - at System.Security.SecurityManager.ResolvePolicy(Evidence evidence, PermissionSet reqdPset, PermissionSet optPset, PermissionSet denyPset, PermissionSet& denied, Boolean checkExecutionPermission).

Este erro acima aparece outras 316.871 vezes no arquivo de registro da web.

O tempo foi interessante porque o primeiro erro acima ocorreu imediatamente após o reciclar do pool de aplicações de 29 horas ser agendado conforme eu vejo esta entrada:

A worker process with process id of '758628' serving application pool 'gpsigolf.com' has requested a recycle because the worker process reached its allowed processing time limit.

no log de eventos (usando o visualizador de eventos) logo antes do início do problema e do arquivo de log associado preenchido com o erro de permissão de Execução. Essa entrada também é exatamente 29 horas após a entrada anterior no log de eventos.

O servidor está em execução desde então sem problemas por meio de várias reciclagens do pool de aplicativos e estava em execução há cinco dias antes que esse problema acontecesse. É um novo servidor para o qual migramos, de modo que o total de cinco dias anteriores a esse problema só havia chegado.

A pergunta é por que / como um pool de aplicativos reciclaria causaria esse problema? Há certas configurações que devemos evitar, como Reciclagem Sobreposta, por exemplo?

    
por eesh 12.05.2011 / 04:44

1 resposta

1

Eu desligaria a reciclagem depois de 29 horas (1740 minutos). É apenas o padrão, mas não é útil na produção. Se você precisar reciclar automaticamente, faça isso em um horário definido fora do expediente.

Os pools de aplicativos sobrepostos são perfeitamente saudáveis. Confira este vídeo recente na minha série Web Pro que o cobre.

Meu palpite sobre o que aconteceu é que algo tinha uma alça em um dos arquivos-chave do seu site e o IIS não podia obter permissões de execução nele. Ele provavelmente não apareceu até que o IIS liberou o arquivo durante a reciclagem e outra coisa assumiu.

Quando isso acontecer novamente (o que provavelmente ocorrerá, já que nada mudou), recomendo usar o Process Monitor e / ou o Process Explorer para descobrir qual arquivo está bloqueado. Ele deve aparecer pesquisando por 'negado' em uma captura do Process Monitor. Aqui está outro rápido vídeo sobre como usar o Process Monitor .

    
por 18.05.2011 / 16:44