Profiling - IMES.java - Haroldo Macedo

  • Published on
    27-May-2015

  • View
    1.316

  • Download
    0

Embed Size (px)

DESCRIPTION

Palestra de Haroldo Macedo para o evento IMES.java

Transcript

<ul><li> 1. Profiling: Como Diagnosticar Problemas de Performance Haroldo R. J. de Macdo</li></ul> <p> 2. Desenvolvimento do Software </p> <ul><li>Ciclo de Vida do Desenvolvimento </li></ul> <ul><li>Anlise de Requisitos </li></ul> <ul><li>Desenvolvimento Orientado a Objetos </li></ul> <ul><li>Frameworks, muitos frameworks </li></ul> <ul><li>Tecnologia Java</li></ul> <ul><li>DB2, Oracle, MySQL </li></ul> <ul><li>Linux, Windows, AIX, Z/OS </li></ul> <p> 3. Caractersticas do Software </p> <ul><li>Confiabilidade </li></ul> <ul><li>Eficincia </li></ul> <ul><li>Portabilidade </li></ul> <ul><li>Compatibilidade </li></ul> <ul><li>Usabilidade </li></ul> <ul><li>Escalabilidade </li></ul> <ul><li>Alta Disponibilidade </li></ul> <ul><li>Robustez </li></ul> <p> 4. Problemas de Software </p> <ul><li>Bugs </li></ul> <ul><li>No Conformidade </li></ul> <ul><li>Memory Leak </li></ul> <ul><li>Requisitos Funcionais </li></ul> <ul><li>Requisitos No Funcionais </li></ul> <p> 5. Validao do Software </p> <ul><li>Teste de Caixa Preta </li></ul> <ul><li>Teste de Caixa Branca </li></ul> <ul><li>Testes No-Funcionais </li></ul> <ul><li>Testes Unitrios </li></ul> <ul><li>Teste de Integrao </li></ul> <ul><li>Teste de Sistema </li></ul> <ul><li>Teste de Regresso </li></ul> <ul><li>Verso Alfa </li></ul> <ul><li>Verso Beta </li></ul> <p> 6. Software para o Usurio Final </p> <ul><li>Bonitinho </li></ul> <ul><li>No Trava </li></ul> <ul><li>Rpido </li></ul> <p> 7. Profiling Definio </p> <ul><li>Wikipedia </li></ul> <ul><li><ul><li>Anlise de performance </li></ul></li></ul> <ul><li><ul><li>Investigao do comportamento do programa usando informao obtida durante sua execuo </li></ul></li></ul> <p> 8. Profiling com JInsight </p> <ul><li>Software de Laboratrio da IBM </li></ul> <ul><li><ul><li>No distribudo aos clientes </li></ul></li></ul> <ul><li>IBM WebSphere </li></ul> <ul><li><ul><li>Desenvolvido para rodar no WebSphere </li></ul></li></ul> <ul><li>IBM Rational Application Developer </li></ul> <ul><li><ul><li>Evoluiu para o profiling do RAD </li></ul></li></ul> <ul><li>Leve </li></ul> <ul><li>Fcil de Usar </li></ul> <p> 9. Profiling Duas Fases </p> <ul><li>Agente JInsight </li></ul> <ul><li><ul><li>Coleta dos dados </li></ul></li></ul> <ul><li><ul><li>Roda no servidor de aplicaes </li></ul></li></ul> <ul><li>Uso do Visualizador do JInsight </li></ul> <ul><li><ul><li>Analise dos Dados </li></ul></li></ul> <p> 10. Janela Principal no Visualizador 11. O Que Se V no Visualizador </p> <ul><li>Um retrato da JVM </li></ul> <ul><li>Suas Threads </li></ul> <ul><li>Linha do tempo </li></ul> <ul><li>O stack de chamada de mtodos </li></ul> <p> 12. Threads no JInsight </p> <ul><li>Linhas Verticais </li></ul> <ul><li>Nome no topo da linha </li></ul> <ul><li>Threads WebSphere </li></ul> <ul><li>Linha de tempo </li></ul> <p> 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 </p> <ul><li>Procurar por padres </li></ul> <ul><li>Execuo de mtodos muito demoradas </li></ul> <ul><li>Excesso de chamada de mtodos </li></ul> <p> 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 </p> <ul><li>Uma funcionalidade testada por vez </li></ul> <ul><li><ul><li>Cada anlise produz centenas de milhares de eventos </li></ul></li></ul> <ul><li>Um nico usurio trabalhando </li></ul> <ul><li><ul><li>Vrias thread para analisar dificulta o trabalho </li></ul></li></ul> <p> 30. Profiling Resumo</p> <ul><li>Busca encontrar problemas de performance </li></ul> <ul><li>Coleta informaes durante execuo </li></ul> <ul><li>Identifica padres </li></ul> <ul><li>Analisa em detalhe </li></ul> <ul><li>Relata o encontrado </li></ul> <p> 31. Referncia </p> <ul><li>Informao on-line </li></ul> <ul><li><ul><li>http://www.research.ibm.com/jinsight/docs/ </li></ul></li></ul> <ul><li>hmacedo@br.ibm.com</li></ul> <p> 32. Profiling: Como Diagnosticar Problemas de Performance Haroldo R. J. de Macdo</p>