Partilhar via


Instruções passo a passo: aplicativos da criação de perfil

Este passo a passo demonstra como analisar um aplicativo identificar problemas de desempenho.

Neste passo a passo, você pisará com o processo de analisar um aplicativo gerenciado e da utilização e a instrumentação para isolar e identificar problemas de desempenho no aplicativo.

Neste passo a passo, você seguirá estas etapas:

  • Analisar um aplicativo usando o método de amostragem.

  • Analyze provou analisar resultados para localizar e corrigir um problema de desempenho.

  • Analisar um aplicativo usando o método de gerenciamento.

  • Analise proveu analisar resultados para localizar e corrigir um problema de desempenho.

Pré-requisitos

Para trabalhar com as informações fornecidas analisando, é melhor ter informações disponíveis de símbolo de depuração.

Perfilando Usando o Método de Amostragem

A amostragem é um método analisando por que o processo em questão é sondado periodicamente para determinar a função ativa.Os dados resultantes fornecem uma contagem de frequência com que a função em questão foi sobre a pilha de chamadas quando o processo foi uma amostra feita.

Para analisar um aplicativo usando o método de amostragem

  1. Visual Studio aberto com privilégios de administrador.Executar como administrador é necessário analisar.

  2. Abra a solução de PeopleTrax.

    A solução de PeopleTrax agora popula Solution Explorer.

  3. Defina o parâmetro de configuração do projeto a Versão.

    Você deve usar uma construção da versão para detectar problemas de desempenho em seu aplicativo.Uma construção de versão é recomendada para a criação de perfil como uma compilação de depuração tem informações adicionais compilada nela que pode afetar o desempenho e não ilustra problemas de desempenho exatamente.

  4. No menu Analisar, clique em Iniciar o assistente de desempenho.

    O assistente de desempenho aparece.

  5. Verifique se Uma amostra da CPU (recomendado) está selecionado e clique em Avançar.

  6. Em Aplicativo que você gostaria de destino para analisar, PeopleTrax selecione, e clique em Avançar.

    Visual Studio criar o projeto do e inicia analisar o aplicativo.A janela do aplicativo de PeopleTrax é exibida.

  7. Clique Obter as pessoas.

  8. Clique em ExportarDados.

    O Bloco de Notas abre e exibe um novo arquivo que contém os dados exportados de PeopleTrax.

  9. Próximo Bloco De Notas, e depois próximo aplicativo de PeopleTrax .

    O profiler gerencie um arquivo de dados de perfil *.vsp (), lista o nome de arquivo na seção de relatórios da janela explorador de desempenho, e carrega automaticamente a exibição de Resumo o arquivo de dados na janela principal de Visual Studio.

Para analisar resultados analisando de amostra

  1. A exibição de resumo exibe uma linha do tempo de utilização da CPU no decorrer de analisar executado, a lista de Caminho quente que representa a ramificação da árvore da chamada de aplicativo que era a mais ativa, e uma lista de Funções que fazem a maior de trabalho individual que mostra as funções que foram amostradas o com mais frequência ao executar o código em seu próprio corpo da função.

    Examine a lista de Caminho quente e observe que o método de PeopleNS.People.GetNames é a função de PeopleTrax mais próximo do fim da lista.Sua posição torna uma boa candidata para análise.Clique no nome da função para exibir detalhes de GetNames na exibição de Detalhes da função .

  2. A exibição de Detalhes da função contém duas janelas.A janela de distribuição de custo fornece uma exibição gráfica de trabalho realizado pela função, do trabalho realizado por funções que chamou, e a contribuição das funções que chamaram a função ao número de instâncias que foram amostradas.Você pode modificar a função que é o foco de exibição em um nome de função.Por exemplo, você pode clicar PeopleNS.People.GetPeople para fazer a GetPeople a função selecionada.

    A janela de Exibição código de função mostra o código-fonte para a função está disponível e realce-às linhas mais caras na função selecionada.Quando GetNames é selecionado, você pode ver que essa função leiam uma cadeia de caracteres dos recursos do aplicativo e usar StringReader para adicionar cada linha na cadeia de caracteres a ArrayList.Não há nenhuma forma óbvia de otimizar essa função.

  3. Como PeopleNS.People.GetPeople é o único chamador de GetNames, clique em GetPeople na janela de distribuição de custo para revisar seu código.Esse método retorna ArrayList de objetos de PersonInformationNS.PersonInformation dos nomes das pessoas e de empresas gerados por GetNames.No entanto, GetNames é chamado duas vezes sempre que um PersonInformation que o objeto é criado.Você pode ver que o método pode ser facilmente otimizado para criar as listas somente uma vez no início do método e indexando nessas listas durante o loop de criação de PersonInformation.

  4. Uma versão de backup de GetPeople é fornecida com o código do aplicativo de exemplo e você pode chamar a função otimizada adicionando um símbolo de compilação condicional às propriedades de compilação.Na janela do Solution Explorer, clique com o botão direito do mouse no projeto das pessoas e clique em Propriedades.Clique Compilar no menu da página de propriedades e digite OPTIMIZED_GETPEOPLE na caixa de texto do símbolo de compilação condicional.A versão otimizada de GetPeople substitui o método original na construção seguir.

  5. Execute novamente a sessão de desempenho.Na barra de ferramentas do gerenciador de desempenho, clique em Iniciar a análise.Clique Obter as pessoas e clique em Exportar Dados.Feche a janela do Bloco De Notas que aparece e feche o aplicativo de Trax das pessoas.

    Um novo arquivo de dados de perfil é gerado, e uma exibição de Resumo para os novos dados aparece na janela principal de Visual Studio .

  6. Para comparar as duas últimas execuções analisando, selecione os dois arquivos de dados no desempenho Explorer, clique com o botão direito do mouse nos arquivos, e clique em Compare relatórios de desempenho.Uma janela de relatório de comparação é exibida na janela principal de Visual Studio .A coluna de Delta mostra a alteração no valor de desempenho de funções de valor anterior de Linha de base ao valor de mais recente de Comparação .Você pode selecionar valores para comparar de Coluna remove para baixo na lista.**Exemplos inclusivo %**Selecione.

    Observe que consideráveis ganhos de desempenho de apresentação dos métodos de GetPeople e de GetNames.

Analisar usando o método de gerenciamento

A instrumentação é um método de criação de perfil em que as inserções do profiler investigação funções em versões especialmente compilados de binários analisados.As investigações coletam informações de controle de tempo na entrada e a saída das funções em módulos providos e em qualquer site de chamada nessas funções.O processo de instrumentação é útil para descobrir problemas relacionados às operações de entrada/saída como a gravação no disco e se comunicar em uma rede.A instrumentação fornece informações mais detalhadas da amostragem, mas é mais intrusivo na execução do processo acarretando uma maior quantidade de sobrecarga.Os binários providos também são maiores que a depuração ou liberam binários e não devem ser usados pela implantação.

Nesta seção de instruções passo a passo, usaremos o método de gerenciamento para descobrir mais código que podemos otimizar no aplicativo de PeopleTrax nós analisamos anteriormente.Usando o filtro de linha do tempo de resumo da exibição, é centrar-nos-emos nossa análise sobre o cenário de dados de exportação em nosso aplicativo analisado em que a lista das pessoas é gravada em um arquivo do Bloco De Notas.

Para analisar um aplicativo existente usando o método de gerenciamento

  1. Se necessário, abra o aplicativo de PeopleTrax no Visual Studio.

    Verifique se você estiver sendo executado como administrador e da configuração de compilação para a solução estiver definida como Versão.

  2. No desempenho Explorer, clique Instrumentação.

  3. Na barra de ferramentas do gerenciador de desempenho, clique Iniciar a análise.

    O profiler criar o projeto do e inicia analisar o aplicativo.A janela do aplicativo de PeopleTrax é exibida.

  4. Clique Obter as pessoas.

    A grade de dados de PeopleTrax popula com dados.

  5. Aguarde aproximadamente 10 segundos e clique em Exportar Dados.

    Bloco de Notas inicia e exibe um novo arquivo que contém uma lista das pessoas de PeopleTrax.Permite que você esperar para facilitar a identificação do procedimento de exportação dos dados para filtrar.

  6. Próximo Bloco de Notas, e depois próximo aplicativo de PeopleTrax .

    Visual Studio gerencie um relatório da sessão de desempenho (*.vsp).

Para analisar provido analisando os resultados

  1. O gráfico da linha do tempo de exibição de Resumo do relatório mostra a utilização de CPU do programa sobre a duração da execução.A operação da exportação de dados deve ser grande o pico platô ou no lado direito do gráfico.Podemos filtrar a sessão de desempenho para exibir e analisar apenas os dados que foram coletados na operação de exportação.Clique à esquerda do ponto no gráfico em que a operação da exportação de dados inicia.Clique em novamente para o lado direito da operação.Clique em Filtrar por Seleção na lista de links à direita da linha do tempo.

    A apresentação de árvore de Caminho quente que o método de Concat que é chamado pelo método de PeopleTrax.Form1.ExportData consome uma porcentagem grande de tempo.Como System.String.Concat também está na parte superior da lista de Funções com a maioria de trabalho individual , reduzir o tempo gasto na função é um ponto provável de otimização.

  2. Clique duas vezes em System.String.Concat em qualquer uma das tabelas de resumo para ver mais informações na exibição de detalhes da função.

  3. Você pode ver que o PeopleTrax.Form1.ExportData é o único método que chama Concat.Clique em PeopleTrax.Form1.ExportData na lista de Funções de chamada para selecionar o método é como o destino da exibição detalhes da função.

  4. Examine o método na janela de exibição código de função.Observe que não há chamada de literal a System.String.Concat.Em vez disso, há vários usos do operando de +=, que substitui o compilador com chamadas a System.String.Concat.Todas as alterações em uma cadeia de caracteres no .NET Framework fazem com que uma nova cadeia de caracteres a ser atribuído.O.NET Framework inclui uma classe de StringBuilder que é otimizada para a concatenação de cadeia de caracteres

  5. Para substituir essa área de assunto com o código otimizado, adicione OPTIMIZED_EXPORTDATA como um símbolo de compilação condicional ao projeto de PeopleTrax.

  6. No Solution Explorer, clique com o botão direito do mouse no projeto de PeopleTrax e clique em Propriedades.

    O formulário de propriedades do projeto de PeopleTrax é exibida.

  7. Clique na guia Build.

  8. Na caixa de texto de Símbolos de compilação condicional , digite OPTIMIZED_EXPORTDATA.

  9. Feche o formulário da propriedade do projeto e escolha salvar tudo quando for solicitado.

Quando você executa o aplicativo novamente, você verá marcadas melhorias no desempenho.É recomendado que você execute a sessão analisando novamente, mesmo se houver visíveis melhorias no desempenho.Examine os dados depois que você corrija o problema é importante porque o primeiro problema pode obscurecer algum outro problema.

Consulte também

Referência

/Z7, /Zi, /ZI (depurar formato de informações)

Conceitos

Introdução a ferramentas de criação de perfil

Outros recursos

Visões gerais (ferramentas de criação de perfil)