Ferramentas e métodos para aplicações web live-monitoramento ASP.NET?
-
06-07-2019 - |
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.
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