Profiling - IMES.java - Haroldo Macedo

  • View
    1.316

  • Download
    0

Embed Size (px)

DESCRIPTION

Palestra de Haroldo Macedo para o evento IMES.java

Transcript

  • 1. Profiling: Como Diagnosticar Problemas de Performance Haroldo R. J. de Macdo

2. Desenvolvimento do Software

  • Ciclo de Vida do Desenvolvimento
  • Anlise de Requisitos
  • Desenvolvimento Orientado a Objetos
  • Frameworks, muitos frameworks
  • Tecnologia Java
  • DB2, Oracle, MySQL
  • Linux, Windows, AIX, Z/OS

3. Caractersticas do Software

  • Confiabilidade
  • Eficincia
  • Portabilidade
  • Compatibilidade
  • Usabilidade
  • Escalabilidade
  • Alta Disponibilidade
  • Robustez

4. Problemas de Software

  • Bugs
  • No Conformidade
  • Memory Leak
  • Requisitos Funcionais
  • Requisitos No Funcionais

5. Validao do Software

  • Teste de Caixa Preta
  • Teste de Caixa Branca
  • Testes No-Funcionais
  • Testes Unitrios
  • Teste de Integrao
  • Teste de Sistema
  • Teste de Regresso
  • Verso Alfa
  • Verso Beta

6. Software para o Usurio Final

  • Bonitinho
  • No Trava
  • Rpido

7. Profiling Definio

  • Wikipedia
    • Anlise de performance
    • Investigao do comportamento do programa usando informao obtida durante sua execuo

8. Profiling com JInsight

  • Software de Laboratrio da IBM
    • No distribudo aos clientes
  • IBM WebSphere
    • Desenvolvido para rodar no WebSphere
  • IBM Rational Application Developer
    • Evoluiu para o profiling do RAD
  • Leve
  • Fcil de Usar

9. Profiling Duas Fases

  • Agente JInsight
    • Coleta dos dados
    • Roda no servidor de aplicaes
  • Uso do Visualizador do JInsight
    • Analise dos Dados

10. Janela Principal no Visualizador 11. O Que Se V no Visualizador

  • Um retrato da JVM
  • Suas Threads
  • Linha do tempo
  • O stack de chamada de mtodos

12. Threads no JInsight

  • Linhas Verticais
  • Nome no topo da linha
  • Threads WebSphere
  • Linha de tempo

13. Threads WebSphere 14. Olhando a Execuo do Cdigo Tempo de Execuo de Objetos Pilha de Chamada 15. Identificando Eventual Problema 16. Procurando por Detalhes 17. Acessando o Banco de Dados 18. Mais Detalhes 19. E Mais Detalhes Ainda 20. Mtodos Repetidos 21. Mtodo de Acesso ao B.D. 22. Vendo com Menos Detalhes 23. Na JVM 24. Como Identificar Problemas de Performance

  • Procurar por padres
  • Execuo de mtodos muito demoradas
  • Excesso de chamada de mtodos

25. Caso de Uso: Valida Usurio no LDAP 26. Validao Dupla do Perfil do Usurio 27. Caso de Uso XYZ 28. Caso de Uso XYZ 29. Coleta com Ferramenta de Profiling Caracterstica

  • Uma funcionalidade testada por vez
    • Cada anlise produz centenas de milhares de eventos
  • Um nico usurio trabalhando
    • Vrias thread para analisar dificulta o trabalho

30. Profiling Resumo

  • Busca encontrar problemas de performance
  • Coleta informaes durante execuo
  • Identifica padres
  • Analisa em detalhe
  • Relata o encontrado

31. Referncia

  • Informao on-line
    • http://www.research.ibm.com/jinsight/docs/
  • hmacedo@br.ibm.com

32. Profiling: Como Diagnosticar Problemas de Performance Haroldo R. J. de Macdo