Como usar o PerfInsights no Azure

PerfInsights é uma ferramenta de diagnóstico de autoajuda que coleta e analisa os dados de diagnóstico e fornece um relatório para ajudar a solucionar problemas de desempenho da máquina virtual do Windows no Azure. O PerfInsights pode ser executado em máquinas virtuais como uma ferramenta autônoma, diretamente do portal usando o Diagnóstico de Desempenho para máquinas virtuais do Azure ou instalando a Extensão VM de Diagnóstico de Desempenho do Azure.

Se você estiver tendo problemas de desempenho com máquinas virtuais, antes de entrar em contato com o suporte, execute esta ferramenta.

Cenários de soluções de problemas com suporte

O PerfInsights pode coletar e analisar vários tipos de informações. As seções a seguir abordam cenários comuns.

Observação

Para obter informações sobre como usar o PerfInsights em um conjunto de dimensionamento de máquinas virtuais do Azure, acesse PerfInsights e instâncias de VM do conjunto de dimensionamento.

Análise rápida de desempenho

Este cenário coleta a configuração do disco e outras informações importantes, incluindo:

  • Logs de eventos

  • Status da rede para todas as conexões de entrada e saída

  • Definições de configuração de rede e firewall

  • Lista de tarefas para todos os aplicativos atualmente em execução no sistema

  • Definições de configuração do banco de dados do Microsoft SQL Server (se a VM for identificada como um servidor que está executando o SQL Server)

  • Contadores de confiabilidade de armazenamento

  • Hotfixes importantes do Windows

  • Drivers de filtro instalados

Esta é uma coleção passiva de informações que não deve afetar o sistema.

Observação

Este cenário é incluído automaticamente em cada um dos seguintes cenários:

Avaliação comparativa

Este cenário executa o teste de benchmark Diskspd (IOPS e MBPS) para todas as unidades conectadas à VM.

Observação

Este cenário pode afetar o sistema e não deve ser executado em um sistema de produção ativo. Se necessário, execute este cenário em uma janela de manutenção dedicada para evitar problemas. Uma carga de trabalho aumentada causada por um teste de rastreamento ou benchmark pode afetar adversamente o desempenho de sua VM.

Análise de desempenho

Este cenário executa um rastreamento de contador de desempenho usando os contadores especificados no arquivo RuleEngineConfig.json. Se a VM for identificada como um servidor que está executando o SQL Server, um rastreamento de contador de desempenho será executado. Ele faz isso usando os contadores localizados no arquivo RuleEngineConfig.json. Este cenário também inclui dados de diagnóstico de desempenho.

Análise de arquivos do Azure

Este cenário executa uma captura de contador de desempenho especial junto com um rastreamento de rede. A captura inclui todos os contadores de compartilhamentos do cliente Server Message Block (SMB). A seguir estão alguns dos principais contadores de desempenho de compartilhamento de cliente SMB que fazem parte da captura:

Tipo Contador de compartilhamentos do cliente SMB
IOPS Solicitações de dados/s
Solicitações de leitura/seg
Solicitações de gravação/seg
Latência Média de segundos/Solicitação de Dados
Média de segundos/Leitura
Média de segundos/Gravação
Tamanho de E/S Média de Bytes/Solicitação de Dados
Média de Bytes/Leitura
Média de Bytes/Gravação
Taxa de transferência Dados Bytes/seg
Ler bytes/seg
Gravar bytes/seg
Comprimento de Fila Média de Comprimento da Fila de Leitura
Média de Comprimento da Fila de Gravação
Média de Comprimento da Fila de Dados

Análise de desempenho avançada

Ao executar uma análise de desempenho avançada, você seleciona rastreamentos para executar em paralelo. Se desejar, você pode executar todos eles (Performance Counter, Xperf, Network e StorPort).

Observação

Este cenário pode afetar o sistema e não deve ser executado em um sistema de produção ativo. Se necessário, execute este cenário em uma janela de manutenção dedicada para evitar problemas. Uma carga de trabalho aumentada causada por um teste de rastreamento ou benchmark pode afetar adversamente o desempenho de sua VM.

Quais tipos de informações são coletadas por PerfInsights?

São coletadas informações sobre VM do Windows, configuração de discos ou pools de armazenamento, contadores de desempenho, logs e vários rastreamentos. Depende do cenário de desempenho que você está usando. A tabela a seguir fornece detalhes:

Dados coletados Análise rápida de desempenho Avaliação comparativa Análise de desempenho Análise de arquivos do Azure Análise de desempenho avançada
Informações de logs de eventos Sim Sim Sim Sim Sim
Informação do sistema Sim Sim Sim Sim Sim
Mapa de volume Sim Sim Sim Sim Sim
Mapa de disco Sim Sim Sim Sim Sim
Executando tarefas Sim Sim Sim Sim Sim
Contadores de confiabilidade de armazenamento Sim Sim Sim Sim Sim
Informações de armazenamento Sim Sim Sim Sim Sim
Saída fsutil Sim Sim Sim Sim Sim
Filtrar informações do motorista Sim Sim Sim Sim Sim
Saída Netstat Sim Sim Sim Sim Sim
Configuração da rede Sim Sim Sim Sim Sim
Configuração do firewall Sim Sim Sim Sim Sim
Configuração do SQL Server Sim Sim Sim Sim Sim
Traços de diagnóstico de desempenho * Sim Sim Sim Sim Sim
Rastreamento do contador de desempenho ** Sim Sim
Rastreamento do contador SMB ** Sim
Rastreamento do contador do SQL Server ** Sim Sim
Rastreamento Xperf Sim
Rastreamento do StorPort Sim
Rastreamento de rede Sim Sim
Rastreamento de benchmark Diskspd *** Sim

Rastreamento de diagnóstico de desempenho (*)

Executa um mecanismo baseado em regras em segundo plano para coletar dados e diagnosticar problemas de desempenho contínuos. As regras são exibidas no relatório na guia Categoria -> Descoberta.

Cada regra consiste nos seguintes itens:

  • Descoberta: Descrição da descoberta.
  • Recomendação: Recomendação sobre qual ação poderia ser tomada para a descoberta. Há também links de referência para documentação contendo mais informações sobre a descoberta e/ou recomendação.
  • Nível de Impacto: Representa o potencial de impacto no desempenho.

As seguintes categorias de regras são atualmente suportadas:

  • Alto uso de recursos:
    • Alto uso da CPU: detecta períodos de alto uso da CPU e mostra os principais consumidores de uso da CPU durante esses períodos.
    • Alto uso de memória: detecta períodos de alto uso de memória e mostra os principais consumidores de uso de memória durante esses períodos.
    • Alto uso de disco: detecta períodos de alto uso de disco em discos físicos e mostra os principais consumidores de uso de disco durante esses períodos.
    • Uso de disco de alta resolução: mostra IOPS, taxa de transferência e métricas de latência de E/S por 50 milissegundos para cada disco físico. Ele ajuda a identificar rapidamente os períodos de limitação do disco.
  • Base de conhecimento: detecta se artigos específicos da Base de conhecimento (KB) não estão instalados.
  • Disco: detecta definições de configuração de disco específicas.
  • SQL: Detecta configurações SQL específicas.
  • Rede: detecta configurações de rede específicas.
  • Cluster de servidor: detecta configurações de cluster de servidor específicas.
  • Sistema: Detecta configurações específicas do sistema.
  • CLR: detecta longas pausas na coleta de lixo em processos gerenciados.

Observação

Atualmente, há suporte para versões do Windows que incluem o .NET Framework 4.5 ou versões posteriores.

Rastreamento do contador de desempenho (**)

Coleta os seguintes contadores de desempenho:

  • \System, \Process, \Processor, \Memory, \Thread, \PhysicalDisk e \LogicalDisk
  • \Cache\Dirty Pages, \Cache\Lazy Write Flushes/s, \Server\Pool Nonpaged, Falhas e \Server\Pool Falhas paginadas
  • Contadores selecionados em \Network Interface, \IPv4\Datagrams, \IPv6\Datagrams, \TCPv4\Segments, \TCPv6\Segments, \Network Adapter, \WFPv4\Packets, \WFPv6\Packets, \UDPv4\Datagrams, \UDPv6\Datagrams, \TCPv4\Connection, \TCPv6\Connection, \Network QoS Policy\Packets, \Per Processor Network Interface Card Activity e \Microsoft Winsock BSP

Para instâncias do SQL Server

  • \SQL Server:Buffer Manager, \SQLServer:Resource Pool Stats e \SQLServer:SQL Statistics\
  • \SQLServer:Locks, \SQLServer:General, Estatísticas
  • \SQLServer:Métodos de Acesso

Para arquivos do Azure

\Compartilhamentos de cliente SMB

Rastreamento de benchmark Diskspd (***)

Testes de carga de trabalho de E/S Diskspd (disco do sistema operacional [gravar] e unidades de pool [leitura/gravação])

Execute a ferramenta PerfInsights em sua VM

O que devo saber antes de executar a ferramenta?

Necessidades de ferramentas

  • Essa ferramenta deve ser executada na VM que apresenta o problema de desempenho.

  • Os seguintes sistema operacionais são compatíveis:

    • Windows Server 2022
    • Windows Server 2019
    • Windows Server 2016
    • Windows Server 2012 R2
    • Windows Server 2012
    • Windows 11
    • Windows 10

Acesso ao SQL Server

Se a VM tiver instâncias do SQL Server instaladas, o PerfInsights usará a conta NT AUTHORITY\SYSTEM para acessar as instâncias do SQL Server para coletar informações de configuração e regras de execução. A conta NT AUTHORITY\SYSTEM deve receber a permissão View Server State e a permissão Connect SQL para cada instância, caso contrário, o PerfInsights não poderá se conectar ao SQL Server e o relatório do PerfInsights não mostrará nenhuma informação relacionada ao SQL Server.

Possíveis problemas ao executar a ferramenta em VMs de produção

  • Para o cenário de comparação ou o cenário "Análise de desempenho avançada" configurado para usar Xperf ou Diskspd, a ferramenta pode afetar adversamente o desempenho da VM. Esses cenários não devem ser executados em um ambiente de produção ao vivo.

  • Para o cenário de comparação ou o cenário "Análise de desempenho avançada" configurado para usar Diskspd, certifique-se de que nenhuma outra atividade em segundo plano interfira na carga de trabalho de E/S.

  • Por padrão, a ferramenta usa a unidade de armazenamento temporário para coletar dados. Se o rastreamento permanecer ativado por mais tempo, a quantidade de dados coletados pode ser relevante. Isso pode reduzir a disponibilidade de espaço no disco temporário e, portanto, afetar qualquer aplicativo que dependa dessa unidade.

Como executo o PerfInsights?

Você pode executar PerfInsights em uma máquina virtual instalando Azure Performance Diagnostics VM Extension. Você também pode executá-lo como uma ferramenta autônoma.

Instalar e executar PerfInsights do portal do Azure

Para obter mais informações sobre essa opção, consulte Instalar extensão de VM de diagnóstico de desempenho do Azure.

Execute o PerfInsights no modo autônomo

Para executar a ferramenta PerfInsights, siga estas etapas:

  1. Baixe PerfInsights.zip.

  2. Desbloqueie o arquivo PerfInsights.zip. Para fazer isso, clique com o botão direito do mouse no arquivo do PerfInsights.zip e selecione Propriedades. Na guia Geral, selecione Desbloquear e, em seguida, selecione OK. Essa ação garante que a ferramenta seja executada sem nenhum outro prompt de segurança.

    Captura de tela das propriedades do PerfInsights, com Desbloquear realçado.

  3. Expanda o arquivo compactado PerfInsights.zip em sua unidade temporária (por padrão, geralmente é a unidade D).

  4. Abra o prompt de comando do Windows como administrador e execute PerfInsights.exe para exibir os parâmetros de linha de comando disponíveis.

    cd <the path of PerfInsights folder>
    PerfInsights
    

    Captura de tela da saída da linha de comando do PerfInsights.

    A sintaxe básica para executar cenários do PerfInsights é:

    PerfInsights /run <ScenarioName> [AdditionalOptions]
    

    Você pode usar o exemplo abaixo para executar o cenário de análise de desempenho por 5 minutos:

    PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
    

    Você pode usar o exemplo a seguir para executar o cenário avançado com rastreamentos de contador de desempenho e Xperf por 5 minutos:

    PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
    

    Você pode usar o exemplo a seguir para executar o cenário de referência por 5 minutos:

    PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
    

    Você pode usar o exemplo abaixo para executar o cenário de análise de desempenho por 5 minutos e carregar o arquivo zip de resultado para a conta de armazenamento:

    PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
    

    Você pode consultar todos os cenários e opções disponíveis usando o comando /list:

    PerfInsights /list
    

    Observação

    Antes de executar um cenário, o PerfInsights solicita que o usuário concorde em compartilhar informações de diagnóstico e concordar com o EULA. Use a opção /AcceptDisclaimerAndShareDiagnostics para ignorar esses prompts.

    Se você tiver um tíquete de suporte ativo com a Microsoft e estiver executando o PerfInsights de acordo com a solicitação do engenheiro de suporte com quem está trabalhando, certifique-se de fornecer o número do tíquete de suporte usando a opção /sr.

    Por padrão, o PerfInsights tentará se atualizar para a versão mais recente, se disponível. Use o parâmetro /SkipAutoUpdate ou /sau para ignorar a atualização automática.

    Se a opção de duração /d não for especificada, o PerfInsights solicitará que você reproduza o problema durante a execução de vmslow, azurefiles e cenários avançados.

Quando os rastreamentos ou operações são concluídos, um novo arquivo aparece na mesma pasta que PerfInsights. O nome do arquivo é PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip. Você pode enviar este arquivo para o agente de suporte para análise ou abrir o relatório dentro do arquivo zip para revisar as descobertas e recomendações.

Revise o relatório de diagnóstico

Dentro do arquivo PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip, você pode encontrar um relatório HTML que detalha as descobertas do PerfInsights. Para revisar o relatório, expanda o arquivo PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip e abra o arquivo PerfInsights Report.html.

Selecione a guia Localizações.

Captura de tela da guia Descobertas na guia Visão geral do relatório PerfInsights.

Captura de tela da guia Descobertas na guia Armazenamento do relatório PerfInsights.

Observação

Descobertas categorizadas como altas são problemas conhecidos que podem causar problemas de desempenho. Descobertas categorizadas como médias representam configurações não ideais que não necessariamente causam problemas de desempenho. Os resultados classificados como baixos são apenas declarações informativas.

Revise as recomendações e links para todas as descobertas altas e médias. Saiba como eles podem afetar o desempenho e também sobre as práticas recomendadas para configurações otimizadas para desempenho.

Guia de armazenamento

A seção Descobertas exibe várias descobertas e recomendações relacionadas ao armazenamento.

As seções Mapa do disco e Mapa do volume descrevem como os volumes lógicos e os discos físicos estão relacionados entre si.

Na perspectiva do disco físico (Mapa do disco), a tabela mostra todos os volumes lógicos que estão em execução no disco. No exemplo a seguir, PhysicalDrive2 executa dois volumes lógicos criados em várias partições (J e H):

Captura de tela da seção de mapa de disco na guia Descobertas do relatório PerfInsights.

Na perspectiva do volume (Volume Map), as tabelas mostram todos os discos físicos em cada volume lógico. Observe que para discos RAID/Dinâmicos, você pode executar um volume lógico em vários discos físicos. No exemplo a seguir, C:\mount é um ponto de montagem configurado como SpannedDisk nos discos físicos 2 e 3:

Captura de tela da seção de mapa de volume na guia Descobertas do relatório PerfInsights.

guia SQL

Se a VM de destino hospedar qualquer instância do SQL Server, você verá outra guia no relatório, denominada SQL:

Captura de tela da guia SQL e das subguias abaixo dela.

Esta seção contém uma guia Descobertas e guias extras para cada uma das instâncias do SQL Server hospedadas na VM.

A guia Descobertas contém uma lista de todos os problemas de desempenho relacionados ao SQL encontrados, juntamente com as recomendações.

No exemplo a seguir, PhysicalDrive0 (executando a unidade C) é exibido. Isso ocorre porque os arquivos modeldev e modellog estão localizados na unidade C e são de tipos diferentes (como arquivo de dados e log de transações, respectivamente).

Captura de tela das informações dos arquivos modeldev e modellog.

As guias para instâncias específicas do SQL Server contêm uma seção geral que exibe informações básicas sobre a instância selecionada. As guias também contêm mais seções para informações avançadas, incluindo definições, configurações e opções do usuário.

Guia de diagnóstico

A guia Diagnóstico contém informações sobre os principais consumidores de CPU, disco e memória no computador durante a execução do PerfInsights. Você também pode encontrar informações sobre patches críticos que podem estar faltando no sistema, a lista de tarefas e eventos importantes do sistema.

Referências às ferramentas externas utilizadas

Diskspd

Diskspd é um gerador de carga de armazenamento e ferramenta de teste de desempenho da Microsoft. Para obter mais informações, consulte Diskspd.

Xperf

Xperf é uma ferramenta de linha de comando para capturar rastreamentos do Windows Performance Toolkit. Para obter mais informações, consulte Windows Performance Toolkit – Xperf.

Próximas etapas

Você pode carregar logs e relatórios de diagnóstico para o Suporte da Microsoft para análise posterior. O suporte pode solicitar que você transmita a saída gerada pelo PerfInsights para auxiliar no processo de solução de problemas.

A captura de tela a seguir mostra uma mensagem semelhante à que você pode receber:

Captura de tela da mensagem de amostra do Suporte da Microsoft.

Siga as instruções na mensagem para acessar o espaço de trabalho de transferência de arquivos. Para segurança extra, você deve alterar sua senha no primeiro uso.

Depois de entrar, você encontrará uma caixa de diálogo para carregar o arquivo PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.zip que foi coletado pelo PerfInsights.

Entre em contato conosco para obter ajuda

Se você tiver dúvidas ou precisar de ajuda, crie uma solicitação de suporte ou peça ajuda à comunidade de suporte do Azure. Você também pode enviar comentários sobre o produto para a comunidade de comentários do Azure.