Histórico da Página
Análise de Performance Visual Studio (Alternativo ao Yourkit)
Objetivo
Este documento tem por objetivo mostrar a utilização do Performance Profiler do Visual Studio para analisar performance da aplicação. Tal procedimento é um alternativo ao Yourkit.
...
Selecione a opção Instrumentation e clique em Next. Após isso será exibido os projeto projetos da aplicação, deixe selecionado One or more avaliable projects e clique em Next.
...
Agora informe o caminho do que quer analisar RM.exe ou RM.Host.exe no campo Executable path e clique em Next. Deixe marcado o item Lanch profiling after the wizard finishes e clique em Finish.
Feito isso, a solution será compilada e após isso o profiler irá iniciar o exe que selecionou para executar, no nosso caso foi o RM.Host.exe.
Após ele iniciar será necessário executar o RM.exe e executar o processo que deseja avaliar a performance.
Após executar o processo que deseja avaliar, clique em Stop profiling. Após parar o profiler será aberta a tela do diagnóstico conforme abaixo.
Para verificar as chamadas que foram feitas clique na caixa de seleção Current View | Call Tree.
É apresentada algumas colunas por padrão, sendo as mais relevantes as mencionadas abaixo:
- Number of Calls
- Número de chamadas da função.
- Elapsed Inclusive Time (%)
- Tempo total gasto na execução de uma função e suas funções filhas.
- Elapsd Exclusive Time (%)
- Tempo total gasto na execução de uma função e excluindo as funções filhas.
Entretanto é possível incluir as colunas Elapsed Inclusive Time (%) e Elapsd Exclusive Time (%) em milissegundos para uma melhor análise. Para isso bastar clicar com botão direito em cima das colunas e ir em Add/Remove Columns e selecione conforme abaixo as colunas Elapsed Inclusive Time e Elapsed Exclusive Time e clique em OK.
Feito isso a visão ficará da seguinte forma:
A partir daí é abrir a árvore e efetuar a análise.
Exemplo
Segue a seguinte árvore que salva o log em uma tabela, onde é gerado o autoinc pelo método GetIdLogNota().
Fazendo análise é verificado que foi executado 9 vezes e gastou o tempo total de 610,04 milissegundos.