Como posso descobrir por que o IIS 6 está usando toda a minha CPU?

1

Eu tenho alguns aplicativos da Web ASP.NET em execução no IIS 6. Hoje, o uso da CPU do IIS é muito alto e, normalmente, nem é registrado. Como posso resolver este problema?

Edit: Eu reduzi essa questão para 1 aplicativo web usando pools de aplicativos como sugerido, eu tenho procmon e proc explorer em execução e estou vendo o que eu posso descobrir com isso .. Este é um uso bastante constante cpu.

Não posso dizer que temos os patches mais atualizados, mas infelizmente não tenho controle sobre isso, mas tenho privilégios administrativos.

    
por Greg Arcara 21.08.2009 / 20:18

4 respostas

3

Mais uma vez ... minha receita favorita ... baixe sysinternals e use procmon, filemon / regmon para ver se algo está acontecendo lá. Use o explorador de processos para ver se há arquivos anômalos abertos a partir da lista de identificadores de arquivos abertos.

Há algo aparecendo nos logs do IIS?

Se for algo com o processamento de um determinado arquivo ou script, você pode obter uma sugestão da função de identificadores de arquivos abertos do Process Explorer.

Que tipo de conteúdo é a veiculação do IIS quando isso acontece?

E, claro ... as últimas atualizações / service packs aplicados?

    
por 21.08.2009 / 20:25
1

Se você tiver acesso administrativo e de área de trabalho remota ao servidor, poderá usar um script que corresponda aos processos w3wp.exe com o pool de aplicativos do IIS 6 ao qual ele pertence (exemplo abaixo). Portanto, se você encontrar um determinado pool de aplicativos que esteja ocupando muito RAM ou processador, poderá verificar quais aplicativos estão sendo executados nesse pool e começar a restringi-los. Realizamos um tempo de solução de problemas semelhante e, mais uma vez, acabamos usando um único pool de aplicativos problemático e separamos os três aplicativos dele em seus próprios pools de aplicativos porque eles estavam causando problemas de memória juntos. Entre isso e os desenvolvedores otimizando o código, o problema foi resolvido. Se o seu site estiver fazendo chamadas de banco de dados, você também pode querer dar uma olhada na conexão entre os dois servidores para garantir que você não esteja passando por tempos limites que estão causando alguns picos de CPU.

Eu escrevi um exemplo de HTA que enumerará os pools de aplicativos conforme especificado. Você pode achar que HTA aqui: link

    
por 21.08.2009 / 20:39
0

você está executando vários sites em seus próprios pools de aplicativos?

    
por 21.08.2009 / 20:39
0

Eu uso o debugdiag, que é um download gratuito do M $. Você pode esperar por um travamento ou executá-lo sob demanda. Você pode então analisar o dump usando sua ferramenta ou usar o winDBG.

O

link é um ótimo blog sobre o diagnóstico de problemas de produção.

    
por 21.08.2009 / 20:49