Solucionar problemas de desempenho da máquina virtual do Windows usando a ferramenta CLI do Diagnóstico de Desempenho (PerfInsights)
Aplica-se a: ✔️ VMs do Windows
A extensão PerfInsights (Diagnóstico de Desempenho) é uma ferramenta de diagnóstico de autoajuda que coleta e analisa dados de diagnóstico e fornece um relatório para ajudar a solucionar problemas de desempenho da VM (máquina virtual) do Windows no Azure. Use o Diagnóstico de Desempenho para identificar e solucionar problemas de desempenho em um dos dois modos:
- O diagnóstico contínuo (versão prévia) coleta dados em intervalos de cinco segundos e relata insights acionáveis sobre o alto uso de recursos a cada cinco minutos.
- O diagnóstico sob demanda ajuda você a solucionar um problema de desempenho contínuo com dados, insights e recomendações mais detalhados com base nos dados coletados em um único momento.
Este artigo explica como baixar a extensão do Diagnóstico de Desempenho para sua VM do Windows e executar a ferramenta usando a ferramenta CLI. Você também pode executar o Diagnóstico de Desempenho no portal e implantar a extensão do Diagnóstico de Desempenho usando um modelo do ARM ou o PowerShell.
Se você estiver enfrentando problemas de desempenho com máquinas virtuais, antes de entrar em contato com o suporte, execute o Diagnóstico de Desempenho.
Cenários de soluções de problemas com suporte
Você pode usar o Diagnóstico de Desempenho para solucionar problemas de vários cenários. As seções a seguir descrevem cenários comuns para usar o Diagnóstico de Desempenho Contínuo e Sob Demanda para identificar e solucionar problemas de desempenho. Para obter uma comparação entre o Diagnóstico de Desempenho Contínuo e Sob Demanda, consulte Insights e relatórios do Diagnóstico de Desempenho
Observação
Para obter informações sobre como usar o PerfInsights em um conjunto de dimensionamento de máquinas virtuais do Azure, consulte PerfInsights e instâncias de VM do conjunto de dimensionamento.
Diagnóstico contínuo
O diagnóstico de desempenho contínuo permite identificar o alto uso de recursos monitorando sua VM regularmente para:
- 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.
Diagnóstico sob demanda
Análise rápida
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
Esse cenário é incluído automaticamente em cada um dos cenários a seguir.
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 informações o Diagnóstico de Desempenho coleta no Windows?
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 dados de conhecimento: detecta se artigos específicos da Base de Dados 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 o Diagnóstico de Desempenho em sua VM usando a ferramenta CLI
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 executar regras. A conta NT AUTHORITY\SYSTEM deve receber a permissão Exibir Estado do Servidor e Conectar 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:
Baixe PerfInsights.zip.
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.
Expanda o arquivo compactado PerfInsights.zip em sua unidade temporária (por padrão, geralmente é a unidade D).
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
A sintaxe básica para executar cenários do PerfInsights é:
PerfInsights /run <ScenarioName> [AdditionalOptions]
Pesquise todos os cenários e opções disponíveis usando o comando /list :
PerfInsights /list
Estes são exemplos de como usar a ferramenta CLI para executar os vários cenários de solução de problemas:
Execute diagnósticos de desempenho contínuos:
PerfInsights /run always on /sau
Para interromper o diagnóstico de desempenho contínuo, pressione Ctrl+C ou feche o terminal.
Execute o cenário de análise de desempenho por 5 minutos:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics
Execute o cenário avançado com Xperf e rastreamentos de contador de desempenho por 5 minutos:
PerfInsights /run advanced xp /d 300 /AcceptDisclaimerAndShareDiagnostics
Execute o cenário de benchmark por 5 minutos:
PerfInsights /run benchmark /d 300 /AcceptDisclaimerAndShareDiagnostics
Execute o cenário de análise de desempenho por 5 minutos e carregue o arquivo zip resultante na conta de armazenamento:
PerfInsights /run vmslow /d 300 /AcceptDisclaimerAndShareDiagnostics /sa <StorageAccountName> /sk <StorageAccountKey>
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.
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):
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:
guia SQL
Se a VM de destino hospedar qualquer instância do SQL Server, você verá outra guia no relatório, denominada SQL:
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).
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 Diagnóstico de Desempenho. 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:
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.