Compartilhar via


Ferramentas de Diagnóstico de Desempenho

Por Mike Rousos

Este artigo lista as ferramentas para diagnosticar problemas de desempenho no ASP.NET Core.

Ferramentas de Diagnóstico do Visual Studio

As ferramentas de criação de perfil e diagnóstico integradas ao Visual Studio são um bom lugar para começar a investigar problemas de desempenho. Essas ferramentas são eficientes e convenientes de usar no ambiente de desenvolvimento do Visual Studio. A ferramenta permite a análise de uso da CPU, uso de memória e eventos de desempenho em aplicativos ASP.NET Core. O fato de ser integrada facilita a criação de perfil no momento do desenvolvimento.

Mais informações estão disponíveis na documentação do Visual Studio.

Application Insights

O Application Insights fornece dados de desempenho detalhados para seu aplicativo. O Application Insights coleta automaticamente dados sobre taxas de resposta, taxas de falha, tempos de resposta de dependência e muito mais. O Application Insights dá suporte ao registro em log de eventos personalizados e métricas específicas para seu aplicativo.

O Azure Application Insights fornece várias maneiras de fornecer insights sobre aplicativos monitorados:

  • Mapa do Aplicativo – ajuda a detectar gargalos de desempenho ou pontos críticos de falha em todos os componentes de aplicativos distribuídos.

  • O Azure Metrics Explorer é um componente do portal do Microsoft Azure que permite plotar gráficos, correlacionar visualmente tendências e investigar picos e quedas nos valores das métricas.

  • Folha de desempenho no portal do Application Insights:

    • Mostra detalhes de desempenho para operações diferentes no aplicativo monitorado.
    • Permite focar em uma única operação para verificar todas as partes/dependências que contribuem para uma longa duração.
    • O Profiler pode ser invocado aqui para coletar rastreamentos de desempenho sob demanda.
  • O Azure Application Insights Profiler permite a criação de perfil regular e sob demanda de aplicativos .NET. O portal do Azure mostra rastreamentos de desempenho capturados com pilhas de chamadas e caminhos críticos. Os arquivos de rastreamento também podem ser baixados para análise mais profunda usando o PerfView.

O Application Insights pode ser usado em vários ambientes:

  • Otimizado para funcionar no Azure.
  • Funciona em ambientes de produção, desenvolvimento e preparo.
  • Funciona localmente no Visual Studio ou em outros ambientes de hospedagem.

Para obter mais informações sobre monitoramento baseado em código, consulte Application Insights para ASP.NET Core. Para obter mais informações sobre o monitoramento sem código, consulte Monitorar o desempenho do Serviço de Aplicativo do Azure.

PerfView

O PerfView é uma ferramenta de análise de desempenho criada pela equipe do .NET especificamente para diagnosticar problemas de desempenho do .NET. O PerfView permite a análise do uso da CPU, do comportamento da memória e do GC, dos eventos de desempenho e do tempo do relógio de parede.

Para obter mais informações sobre o PerfView, consulte o guia do usuário disponível na ferramenta ou no GitHub.

Kit de ferramentas de desempenho do Windows

O WPT (Windows Performance Toolkit) consiste em dois componentes: WPR (Windows Performance Recorder) e WPA (Windows Performance Analyzer). As ferramentas produzem perfis de desempenho aprofundados de aplicativos e sistemas operacionais Windows. O WPT tem maneiras mais avançadas de visualizar dados, mas sua coleta de dados é menos eficiente do que a do PerfView.

PerfCollect

Embora o PerfView seja uma ferramenta de análise de desempenho útil para cenários do .NET, ele é executado apenas no Windows, portanto, você não pode usá-lo para coletar rastreamentos de aplicativos do ASP.NET Core em execução em ambientes do Linux.

PerfCollect é um script bash que usa ferramentas nativas de criação de perfil do Linux (Perf e LTTng) para coletar rastreamentos no Linux que podem ser analisados pelo PerfView. O PerfCollect é útil quando problemas de desempenho aparecem em ambientes do Linux em que o PerfView não pode ser usado diretamente. Em vez disso, o PerfCollect pode coletar rastreamentos de aplicativos .NET Core que são analisados em um computador Windows usando o PerfView.

Mais informações sobre como instalar e começar a usar o PerfCollect estão disponíveis no GitHub.

Outras Ferramentas de Desempenho de Terceiros

O seguinte lista algumas ferramentas de desempenho de terceiros que são úteis na investigação de desempenho de aplicativos .NET Core.