Como impedir que o IIS recicle o pool de aplicativos quando um processo de trabalho não está respondendo

1

Temos um serviço WCF que lida com grande quantidade de solicitações.

Como descobri, quando o número de solicitações de cuncurrent excede o limite de conexões cuncurrent máximas, as solicitações consequentes serão enfileiradas para serem executadas posteriormente. se o tempo limite ocorrer antes que essas solicitações tenham a chance de ser executadas, o IIS determinará o processo do operador para não responder e o mata (ou recicla o pool de aplicativos).

O processo de reciclagem leva cerca de um minuto e, enquanto isso, o serviço será desativado, o que é um grande problema para nós.

Independentemente da causa do tempo limite e do longo tempo de resposta no código (sobre o qual já estamos trabalhando), minha pergunta é a seguinte:

Se definirmos mais de um processo de trabalho para este pool de aplicativos, o que acontecerá se um dos processos de trabalho estiver na mesma situação? O IIS recicla o pool de aplicativos ou o processo de trabalho específico será eliminado e outros continuarão atendendo às solicitações?

    
por Mori 23.05.2016 / 20:42

1 resposta

1

Se você realmente precisa do processo de trabalho para enfrentá-lo, é possível desativar o recurso Ping nas propriedades do Pool de aplicativos avançado, que é como eu presumo que o IIS está detectando que o pool de aplicativos não responde.

Você gostaria de ter certeza de que seu processo de trabalho vai se recuperar, já que a reciclagem baseada em Ping é o cinto de segurança, o que significa que você não precisa sair da cama às 2 da manhã se o site parar ...

Se o processo de trabalho estiver reportando proativamente sua própria falha no IIS, pode ser inevitável do lado do IIS, e você precisará desabilitar o (s) recurso (s) de relatório de integridade da estrutura do aplicativo.

Na outra pergunta / alternativa acima: se seu aplicativo é stateless e suporta ser multi-instanced em um Web Garden (MaxProcesses > 1), o IIS reciclará o processo de trabalho que se tornou não responsivo, em vez de todos os WPs pertencentes para o pool de aplicativos - procure os logs de eventos do sistema que identificam o PID que é reciclado.

    
por 24.05.2016 / 15:28