Forçando a parada rápida do IIS 7.5 ou do pool de aplicativos

1

Temos um servidor web ocupado lidando com cerca de 1.000 solicitações asp.net / segundo.

Temos um script de implantação que copia o asp.net compilado de nossa caixa de desenvolvimento.

O script primeiro interrompe o IIS no servidor de produção, copia o código e reinicia.

Usamos o seguinte comando para interromper o pool de aplicativos do site:

% windir% \ system32 \ inetsrv \ appcmd pára apppool /apppool.name:ourappname

O problema é que isso para de aceitar novas solicitações, mas aguarda que as solicitações existentes sejam concluídas. Geralmente, há um punhado de solicitações que levam até um minuto para serem concluídas, período durante o qual nenhuma nova solicitação é atendida. Então, para atender a uma dúzia de solicitações, perdemos o atendimento de 1000 * 60 = 60.000 solicitações que ocorreram durante o minuto, enquanto esperamos que 12 a 20 sejam concluídas. Isso é burro.

O que gostaríamos de fazer é forçar uma parada do pool de aplicativos em x segundos. Isso não parece ser possível. Existe uma maneira melhor de realizar o que estamos fazendo, ou seja, a parada rápida do iis 7?

    
por WantFasterStop 01.10.2013 / 12:30

1 resposta

0

Por que você precisa parar e reiniciar o pool de aplicativos? A atualização de arquivos no diretório bin fará com que o pool de aplicativos seja reiniciado nos pontos relevantes. Depois de concluir a implantação, salvar uma alteração no arquivo web.config causaria uma reinicialização do pool de aplicativos se você não atualizasse nada no bin.

Se você precisar desativá-lo, poderá fazer isso no nível do IIS (o serviço w3wp).

net stop w3wp
#Deploy
net start w3wp
    
por 11.10.2013 / 04:38

Tags