Profiling - IMES.java - Haroldo Macedo

32
© 2008 IBM Corporation Profiling: Como Diagnosticar Problemas de Performance Haroldo R. J. de Macêdo

description

Palestra de Haroldo Macedo para o evento IMES.java

Transcript of Profiling - IMES.java - Haroldo Macedo

Page 1: Profiling - IMES.java - Haroldo Macedo

© 2008 IBM Corporation

Profiling: Como Diagnosticar Problemas de Performance

Haroldo R. J. de Macêdo

Page 2: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Desenvolvimento do Software

Ciclo de Vida do DesenvolvimentoAnálise de RequisitosDesenvolvimento Orientado a ObjetosFrameworks, muitos frameworksTecnologia Java DB2, Oracle, MySQLLinux, Windows, AIX, Z/OS

Page 3: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Características do Software

ConfiabilidadeEficiênciaPortabilidadeCompatibilidadeUsabilidadeEscalabilidadeAlta DisponibilidadeRobustez

Page 4: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Problemas de Software

BugsNão ConformidadeMemory LeakRequisitos FuncionaisRequisitos Não Funcionais

Page 5: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Validação do Software

Teste de Caixa PretaTeste de Caixa BrancaTestes Não-FuncionaisTestes UnitáriosTeste de IntegraçãoTeste de SistemaTeste de RegressãoVersão AlfaVersão Beta

Page 6: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Software para o Usuário Final

Bonitinho

Não Trava

Rápido

Page 7: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Profiling – Definição

Wikipedia–Análise de performance

–Investigação do comportamento do programa usando informação obtida durante sua execução

Page 8: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Profiling com JInsight

Software de Laboratório da IBM–Não distribuído aos clientes

IBM WebSphere–Desenvolvido para rodar no WebSphere

IBM Rational Application Developer–Evoluiu para o profiling do RAD

LeveFácil de Usar

Page 9: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Profiling – Duas Fases

Agente JInsight–Coleta dos dados

–Roda no servidor de aplicações

Uso do Visualizador do JInsight–Analise dos Dados

Page 10: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Janela Principal no Visualizador

Page 11: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

O Que Se Vê no Visualizador

Um retrato da JVMSuas ThreadsLinha do tempoO stack de chamada de métodos

Page 12: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Threads no JInsight

Linhas Verticais Nome no topo da linha

Threads WebSphere

Linha de tempo

Page 13: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Threads WebSphere

Page 14: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Olhando a Execução do Código

Tempo de Execuçãode Objetos

Pilha de Chamada

Page 15: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Identificando Eventual Problema

Page 16: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Procurando por Detalhes

Page 17: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Acessando o Banco de Dados

Page 18: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Mais Detalhes

Page 19: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

E Mais Detalhes Ainda

Page 20: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Métodos Repetidos

Page 21: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Método de Acesso ao B.D.

Page 22: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Vendo com Menos Detalhes

Page 23: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Na JVM

Page 24: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Como Identificar Problemas de Performance

Procurar por padrões

Execução de métodos muito demoradas

Excesso de chamada de métodos

Page 25: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Caso de Uso: Valida Usuário no LDAP

Page 26: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Validação Dupla do Perfil do Usuário

Page 27: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Caso de Uso XYZ

Page 28: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Caso de Uso XYZ

XYZ

9%

61%

4%

12%

3%

11%

Parser XML

HSM

PreparaXYZ

XYZ

XML Resposta

Outros

Page 29: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Coleta com Ferramenta de Profiling – Característica

Uma funcionalidade testada por vez–Cada análise produz centenas de milhares de eventos

Um único usuário trabalhando–Várias thread para analisar dificulta o trabalho

Page 30: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Profiling – Resumo

Busca encontrar problemas de performance

Coleta informações durante execução Identifica padrõesAnalisa em detalheRelata o encontrado

Page 31: Profiling - IMES.java - Haroldo Macedo

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Referência

Informação on-line–http://www.research.ibm.com/jinsight/docs/

[email protected]

Page 32: Profiling - IMES.java - Haroldo Macedo

© 2008 IBM Corporation

Profiling: Como Diagnosticar Problemas de Performance

Haroldo R. J. de Macêdo