Aplicações de produção de perfis no Azure com o Application Insights Profiler

Diagnosticar os problemas de desempenho do seu aplicativo pode ser difícil, especialmente quando executado em um ambiente de produção na nuvem dinâmica. Respostas lentas em seu aplicativo podem ser causadas por infraestrutura, estrutura ou código de aplicativo que manipula a solicitação no pipeline.

Com o Application Insights Profiler, você pode capturar, identificar e exibir rastreamentos de desempenho para seu aplicativo em execução no Azure, independentemente do cenário. O processo de rastreamento do Profiler ocorre automaticamente, em escala e não afeta negativamente os usuários. O Profiler identifica:

  • Os tempos de resposta mediano, mais rápido e mais lento de cada pedido Web realizado pelos seus clientes.
  • O caminho de código "quente" gastando a maior parte do tempo lidando com uma solicitação da Web específica.

Habilite o Profiler em todos os seus aplicativos do Azure para coletar dados com os seguintes gatilhos:

  • Gatilho de amostragem: inicia o Profiler aleatoriamente cerca de uma vez por hora durante dois minutos.
  • Gatilho de CPU: inicia o Profiler quando a porcentagem de uso da CPU é superior a 80%.
  • Gatilho de memória: inicia o Profiler quando o uso de memória está acima de 80%.

Cada um desses gatilhos pode ser configurado, habilitado ou desabilitado.

Sobrecarga e algoritmo de amostragem

O Profiler é executado aleatoriamente dois minutos por hora em cada máquina virtual que hospeda aplicativos com o Profiler habilitado. Quando o Profiler está em execução, ele adiciona de 5% a 15% de sobrecarga de CPU ao servidor.

Suportado no Profiler

O Profiler funciona com aplicativos .NET implantados nos seguintes serviços do Azure. Veja instruções específicas para habilitar o Profiler para cada tipo de serviço nos links a seguir.

Plataforma de computação .NET (>= 4,6) .NET Core
Serviço de Aplicações do Azure Sim Sim
Máquinas Virtuais do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais para Windows Sim Sim
Máquinas Virtuais do Azure e Conjuntos de Dimensionamento de Máquinas Virtuais para Linux Não Sim
Serviços em Nuvem do Azure Sim Sim
Instâncias de contêiner do Azure para Windows Não Sim
Instâncias de contêiner do Azure para Linux Não Sim
Kubernetes Não Sim
Funções do Azure Sim Sim
Azure Service Fabric Sim Sim

Nota

Você também pode usar o Java Profiler para Azure Monitor Application Insights, atualmente em visualização.

Se você ativou o Profiler, mas não está vendo rastreamentos, consulte o Guia de solução de problemas.

Limitações

  • Retenção de dados: o período de retenção de dados padrão é de cinco dias.
  • Criação de perfil de aplicativos Web:
    • Embora você possa usar o Profiler sem custo extra, seu aplicativo Web deve ser hospedado na camada básica do recurso Aplicativos Web do Serviço de Aplicativo do Azure, no mínimo.
    • Você pode anexar apenas um criador de perfil a cada aplicativo Web.

Próximos passos

Saiba como habilitar o Profiler em seu serviço do Azure: