Partilhar via


Exercício 2 – Avaliar a inicialização rápida usando o Kit de Ferramentas de Desempenho do Windows

Embora a avaliação de Inicialização Rápida seja uma maneira fácil de obter medidas em um relatório fácil de ler, ela exige que você instale o ADK, o que leva algum tempo para ser executado. É possível capturar rapidamente um rastreamento de Inicialização Rápida usando a ferramenta WPR (Gravador de Desempenho do Windows ).

Etapa 1: abrir o rastreamento de inicialização rápida usando o WPA

  1. Abra o Gravador de Desempenho do Windows (WPR) no menu Iniciar

  2. Modifique a configuração de rastreamento.

    1. Selecione os provedores triagem de primeiro nível e uso da CPU .

    2. Altere o cenário de desempenho para Inicialização Rápida.

    3. Altere o Número de iterações para 1 para coletar um único rastreamento.

      Captura de tela do menu Iniciar do WPR.

  3. Clique em Iniciar.

  4. Insira um caminho para salvar o rastreamento resultante e clique em Salvar.

    • Isso forçará o sistema a reinicializar para coletar e salvar o rastreamento.
  5. Depois que o sistema for reinicializado, aguarde 5 minutos para que o rastreamento seja concluído.

Agora você tem um rastreamento que pode ser analisado com o WPA (Windows Performance Analyzer).

Etapa 2: abrir o rastreamento de inicialização rápida usando o WPA

  1. Abra o WPA (Windows Performance Analyzer) no menu Iniciar.

  2. No menu Arquivo , abra o rastreamento que você criou na Etapa 1.

  3. Abra o menu Perfis e clique em Aplicar...

    1. Clique em Procurar Catálogo...

    2. Selecione FastStartup.wpaprofile.

    3. Clique em Abrir.

Agora você aplicou um perfil de visualização ao rastreamento para obter alguns grafos comumente usados (CPU, disco etc.).

Etapa 3: Visualizar a atividade linha do tempo

  1. Examine o grafo Regiões de Interesse na guia Análise Profunda

    • Essa exibição fornece uma visão geral linha do tempo de todas as subfases de Inicialização Rápida mencionadas no Exercício 1.

      Captura de tela de dados de exemplo mostrando linha do tempo visão geral.

  2. Passar o mouse sobre uma barra de região faz com que uma janela pop-up apareça e forneça mais informações para a própria região.

    • Se você colocar o mouse sobre a região Caminho Principal de Inicialização , poderá ver sua duração. No exemplo abaixo, dura 13,6 segundos.

      Captura de tela da janela pop-up mostrando dados detalhados da região.

Reserve um tempo para navegar pela árvore de regiões e examine todas as subfases para se familiarizar com ela.

O tempo que Explorer leva para inicializar e concluir é o tempo necessário para criar a área de trabalho do Windows e torná-la visível para o usuário. Essa fase (e tudo o que acontece depois, conhecido como ativar/desativar) pode ser afetada pelos processos iniciados na inicialização.

Selecione um intervalo de 90 segundos começando no início de Explorer Inicialização e amplie.

Captura de tela da exibição de dados de exemplo no WPA. Captura de tela da exibição de dados de exemplo no WPA usando a opção de zoom.

No grafo Regiões de Interesse , há dois outros grafos valiosos: Uso da CPU (amostra) e Uso do disco. Eles serão usados para avaliar o impacto que o pré-carregamento de software tem sobre o consumo de recursos de pós-ativação/desativação e capacidade de resposta.

O alto uso da CPU por aplicativos e serviços pode contribuir para uma experiência de usuário ruim, como falta de resposta da interface do usuário ou falhas de vídeo e som. Quando um único processo usa muita CPU, outros processos podem ser atrasados porque devem competir por recursos do sistema.

Quando um thread usa recursos de armazenamento, ele pode aumentar a duração da atividade. Quando vários threads exigem o uso do armazenamento, as buscas de disco aleatório resultantes tornam os atrasos mais significativos.

Etapa 4: Analisar o uso da CPU do processo

Para avaliar quanto tempo de CPU é consumido por um processo, concentre-se no grafo Uso da CPU (amostra). Os dados exibidos no grafo Uso da CPU (Amostra) representam exemplos de atividade de CPU realizadas em intervalos de amostragem regulares de 1 ms. Cada linha na tabela representa um único exemplo.

Qualquer atividade de CPU que ocorra entre amostras não é registrada por esse método de amostragem. Portanto, atividades de duração muito curta, como interrupções, não são bem representadas no grafo amostragem de CPU .

Examine o uso da CPU para cada processo para identificar os processos que têm o maior uso da CPU (Peso e %Peso). Para fazer isso, role para baixo até o uso da CPU do grafo (amostra). À esquerda, exiba a lista de processos. Cada processo ativo selecionado à esquerda é exibido no grafo.

Captura de tela dos dados de uso da CPU de exemplo.

**Ponta:**

Ao usar grafos WPA , você pode alterar a exibição para exibir o grafo e a tabela. Você pode clicar no botão Maximizar para ocultar os outros grafos exibidos na guia Análise .

Captura de tela do botão Maximizar no WPA.

Neste exemplo, ImageSHELLY.exe consome 12,4 segundos de tempo de CPU durante o intervalo de 90 segundos analisados no momento. Como a CPU nesse sistema tem dois núcleos, isso representa um percentual relativo de utilização de 6,9%.

Usando essas informações, você pode investigar o processo específico que está causando esse consumo de CPU ou encaminhar esses detalhes para o desenvolvedor que possui esse processo.

Você pode adicionar colunas adicionais para extrair mais informações (clique com o botão direito do mouse nos cabeçalhos de coluna da tabela):

  • ID do thread: identificador do thread que está causando o uso da CPU

  • Pilha: pilha de chamadas que realça os caminhos de código e as funções que estão causando o uso da CPU

Captura de tela mostrando como adicionar mais colunas aos resultados.

No exemplo acima, há apenas um thread causando a maior parte do uso da CPU no processo deImageSHELLY.exe : Thread 2612, com 10,77 segundos de atividade de CPU.

A pilha mostra que essa atividade vem do módulo ImageSTACEY.dll .

Etapa 5: Analisar o uso do disco do processo

Para avaliar a quantidade de largura de banda de disco consumida por um processo, concentre-se no grafo Uso do Disco .

Captura de tela de dados de exemplo no WPA.

As colunas de interesse são:

  • Pri: prioridade da E/S do disco. Os três níveis de prioridade possíveis são: normal, baixo e muito baixo.

  • Tipo de E/S: tipo de E/S. Os três tipos de E/S possíveis são: leitura, gravação e liberação.

  • Processo: identificador do processo que criou a E/S do disco.

  • Árvore de Caminho: árvore estruturada que representa os locais dos arquivos acessados pela E/S.

  • Tamanho: tamanho (em bytes) da E/S.

  • Tempo de serviço de disco: quantidade de tempo que leva para o disco atender à E/S.

  • Tempo de E/S: quantidade de tempo que a E/S gastou na fila de E/S do Windows.

    • O tempo de E/S é sempre maior do que o Tempo de Serviço de Disco porque uma E/S pode ser enfileirada quando há contenção de disco ou quando um dispatcher de E/S com prioridade mais alta deve ser concluído primeiro.

Adicione estas colunas e organize-as para obter esta exibição:

Captura de tela de dados de exemplo filtrados com colunas específicas.

A ativação/desativação leva em conta apenas as E/Ss de prioridade normal. Investigue as informações sobre essas leituras de disco de acordo com o processo. As leituras de disco geralmente representam mais tempo de acesso ao disco do que gravações em disco na inicialização, pois muitos dados devem ser lidos do disco para iniciar processos e serviços.

  1. Clique nos marcadores de cor ao lado das séries Pri: Very Low e Pri: Low para que apenas as E/Ss de prioridade normal fiquem visíveis no grafo.

    Captura de tela do grafo de exemplo mostrando um uso muito baixo de dados.

  2. No modo de exibição de tabela, expanda a linha Prioridade normal .

  3. No modo de exibição de tabela, expanda as linhas de Gravação, Leitura e Liberação e clique no cabeçalho da coluna Tamanho para classificar o conteúdo em ordem decrescente.

    Sua tela deve ter esta aparência:

    Captura de tela dos resultados de dados de exemplo no tabhle com as colunas Pri, Tipo de E/S, Processo, Árvore de Caminho, Tempo e Tamanho de E/S

    O exemplo anterior mostra o seguinte:

    1. 152 MB de dados foram lidos do disco com prioridade normal.

    2. 129 MB de dados foram gravados no disco com prioridade normal.

      • Essas são principalmente gravações de disco para persistir o arquivo de rastreamento ETL capturado no armazenamento.
  4. No modo de exibição de tabela, expanda a linha Ler Tipo de E/ S.

    • Agora você deve ser capaz de ver os processos que causaram a maior quantidade de E/S de disco de leitura durante a ativação/desativação.
  5. Identifique os três principais processos que estão contribuindo para leituras de disco e que não são componentes do Windows.

    Captura de tela dos resultados dos dados de exemplo na tabela com as colunas Pri, Tipo de E/S, Processo, Árvore de Caminho, Tempo e Tamanho de E/S

  6. No modo de exibição de tabela, expanda a linha Árvore de Caminho para ImageSTUART.exee navegue por ela.

    Captura de tela dos resultados dos dados de exemplo na tabela com as colunas Processo, Árvore de Caminho, Tempo e Tamanho de E/S

No exemplo anterior, ImageSTUART.exe lê 13,5 MB de dados do disco quando iniciado durante a postagem/desativação, e a maioria dos acessos é feita lendo componentes de DLL na pasta Arquivos de Programas .

Usando essas informações, um desenvolvedor de software deve identificar seus componentes e processos e determinar se o tamanho do componente pode ser reduzido ou se o caminho do código de inicialização pode ser otimizado para minimizar a quantidade de dados lidos do disco.

Você também pode usar esses dados para identificar os processos de terceiros iniciados na inicialização e que estão causando alto uso de disco. Se um processo parecer estar introduzindo a contenção de disco, ele poderá ser removido da imagem ou simplesmente não iniciado no momento da inicialização.