Qual é a causa do “pool de aplicativos excedeu os limites de tempo durante o encerramento”?

6

Eu tenho um site que elimina 500 erros aleatoriamente (geralmente, uma vez a cada poucas horas). Eu verifiquei a visualização do evento e veja o seguinte erro:

A process serving application pool 'xxxxxxx' exceeded time limits during shut down. The process id was 'xxxx'.

Eu me pergunto qual é a causa potencial deste problema para que eu possa consertar isso?

    
por Monkey D Luffy 07.10.2013 / 05:25

1 resposta

9

Cada site (e potencialmente cada aplicativo da Web) é o IIS vinculado a um pool de aplicativos que contém a configuração do processo de hospedagem.

Várias dessas propriedades estão vinculadas a como o processo é reciclado (finalizado e reiniciado). Por padrão, cada aplicativo será encerrado a cada 1740 minutos (29 horas), mas também poderá ser reciclado se não for usado por (novamente, por padrão) 20 minutos, se falhar em responder a "ping" (na verdade, batimentos de monitoramento de integridade) . Outros limites podem ser colocados pelo administrador.

Quando o aplicativo é reciclado, o processo do contêiner é encerrado. Ele tem (por padrão) 90 segundos para desligar corretamente ou será forçosamente fechado.

Portanto, a causa do seu problema é que um dos limites de reciclagem do seu aplicativo da Web é atingido, fazendo com que o IIS tente encerrá-lo. Infelizmente, o aplicativo não consegue desligar a tempo, causando esse erro (temporário) 500.

Agora, há outro aspecto: se o aplicativo "falhar" (ou seja, retornar um erro do servidor) mais que (por padrão) 5 vezes em um período de 5 minutos, ele será encerrado pelo IIS e permanecerá inativo até você reiniciá-lo manualmente.

Tudo isso aponta para um erro no código do seu aplicativo. Fale com o fornecedor desse código e ele ajudará você a diagnosticar o problema exato.

    
por 07.10.2013 / 09:43

Tags