Transcript

Visual Studio Summit 2014

Fernando Henrique Inocêncio Borba Ferreira

Profiling de Aplicações .NET

Microsoft Premier Field Engineer

Mestre em Sistemas de Informação

Microsoft Most Valuable Professional – Visual C#

Visual Studio Summit 2014

Monitoramento de aplicações .NET com o objetivo de identificar

problemas de performance em sua execução.

Profiling de Aplicações .NET

Visual Studio Summit 2014

Performance?

Demora?Lentidão?

Consome mais recursos do que o necessário?

E a velocidade?

“Leva uma hora pra executar”?

“Tá demorando”?

“Tá executando até agora”?

Muito lento?

Por onde começar?

Visual Studio Summit 2014

Profiling?

• Monitorar a execução de uma aplicação.

• Medir o tempo gasto por cada método ou o uso de memória por

toda a sua execução.

• O profiling de aplicações .NET é bastante complexo.

Visual Studio Summit 2014

Tipos de Profiling

• CPU Sampling

– Monitora o consumo de CPU da aplicação.

• Instrumentation

– Avalia a quantidade de chamadas a uma função e o tempo consumido.

• .NET Memory Allocation

– Rastreia o consumo de memória gerenciada.

• Resource contention data

– Concorrência entre threads.

Visual Studio Summit 2014

CPU Sampling

• Aplicação é monitorada para identificar qual método está no topo

do stack (pilha de execução).

• Coleta de dados estatísticos sobre o trabalho que é executado.

• Tem pouco impacto sobre a execução da aplicação.

Visual Studio Summit 2014

CPU Sampling

[ DEMONSTRAÇÃO]

Visual Studio Summit 2014

CPU Sampling

Visual Studio Summit 2014

CPU Sampling

Visual Studio Summit 2014

CPU Sampling

• Hot Paths!!!

– Inclusive Samples

• Indica um alto custo na execução do método.

– Exclusive Samples

• Indica um alto custo no código existente no corpo do método.

Análise dos dados

Visual Studio Summit 2014

CPU SamplingAnálise dos dados

Incl

usi

ve S

am

ple

[

Exc

lusi

ve S

am

ple

]

Visual Studio Summit 2014

CPU Sampling

• Function details

– Navegação por dentro da pilha de execução.

– Reproduz a cadeia de chamadas até o ponto com maior custo de performance.

Análise dos dados

Visual Studio Summit 2014

Visual Studio Summit 2014

Visual Studio Summit 2014

Visual Studio Summit 2014

O ciclo de avaliação

Profiling

AnáliseCorreção

Visual Studio Summit 2014

Profiling via Command Prompt

• Execução de profiling via linha de comando.

• Coleta de dados em servidores que não contém o Visual Studio.

• Pacote standalone de instalação dos components de profiling.

Visual Studio Summit 2014

Vantagens

• Identificar blocos com problemas de performance.

• Focar em pontos que merecem atenção.

• Comparar abordagens alternativas.

• Visualizar a melhora da aplicação.

Visual Studio Summit 2014

MS. Fernando Henrique Inocêncio Borba Ferreira

Microsoft Most Valuable Professional – Visual C#

Microsoft Premier Field Engineer

http://ferhenriquef.com/

@FerHenrique

[email protected]