19
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 - Profiling de Aplicações .NET

Embed Size (px)

Citation preview

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]