Pergunta

Eu acho que muitos desenvolvedores sabem que sensação desconfortável quando os usuários dizer-lhes que "A aplicação é lenta (de novo)."

Em uma aplicação complexa teia pode haver muitas razões possíveis para uma degradação na (percebida) Desempenho: A resposta do banco de dados lento, problemas de largura de banda, mau caching etc. Há certamente questões que nunca vai ocorrer em um ambiente de desenvolvimento ou teste.

Agora a minha pergunta:

Existe um conjunto de ferramentas e / ou métodos que fornecem um estado abrangente "ao vivo" em um sistema de produção IIS / ASP.NET / SQL Server em uma maneira visualmente (e não apenas contadores de desempenho ):

  • solicitações HTTP atuais (dizem os últimos n minutos)
  • Exceções / timeouts
  • dados Bandwidth
  • Número de conexões de banco de dados aberta / chamadas de banco de dados
  • ...

O principal objetivo é ver de relance (ou depois de olhar mais perto) o problema está causando os problemas de desempenho.

Foi útil?

Solução

Eu acho que a categoria de software que você está procurando ".net profiler" ou ".net tracer". Uma dessas ferramentas que você pode considerar é JetBrains' dotTrace . Dá-lhe tempo de execução rastreamentos de pilha e um conjunto de contadores que indicam possíveis gargalos.

Outras dicas

ferramentas mencionadas anteriormente vai certamente funcionar. Na nossa loja que precisávamos mais fina informações e construiu a nossa solução própria (longa história: era mais fácil de código do que discutir sobre ferramentas e dados recuperáveis)

.

LogParser a folhear o os logs do IIS e criar relatórios de saída desses registros (por exemplo, avarias código de resultado, etc).

Eu usei uma combinação de contadores de desempenho e valores WMI para obter o resto - você pode ler estes usando alguns bastante simples C # - isso lhe dá controle total que você pode em seguida, despejar a .csv etc para visualização / processamento em excel ou se você está atualizando uma página como um centro de controlo.

Eu provavelmente também olhar para IIS.net como um grande recurso para obter ferramentas IIS incluindo a depuração, segurança etc.

de urig conselho encontrada este software chamado SmartInspect .

Alguém sabe este logging / ferramenta de monitoramento? Parece ser uma combinação de tempo real console e desenvolvedor de biblioteca.

CLR 4.5 terá alguns novos recursos que o ajudarão a monitorar o desempenho do ASP.NET ao vivo - sem reiniciar o aplicativo. Basicamente, você pode re-JIT seu código para incluir alguns monitoramento em ganchos na mesma, e em seguida, inspecionar o tempo gasto em classes / métodos etc.

Eu tenho certeza dotTrace e outras ferramentas de perfis irá alavancar isso automaticamente, mas vale a pena conferir: C9 - Dentro Re-JIT com David Broman

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top