Profiling - IMES.java - Haroldo Macedo

Post on 27-May-2015

1.332 views 0 download

description

Palestra de Haroldo Macedo para o evento IMES.java

Transcript of Profiling - IMES.java - Haroldo Macedo

© 2008 IBM Corporation

Profiling: Como Diagnosticar Problemas de Performance

Haroldo R. J. de Macêdo

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Características do Software

ConfiabilidadeEficiênciaPortabilidadeCompatibilidadeUsabilidadeEscalabilidadeAlta DisponibilidadeRobustez

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Problemas de Software

BugsNão ConformidadeMemory LeakRequisitos FuncionaisRequisitos Não Funcionais

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Software para o Usuário Final

Bonitinho

Não Trava

Rápido

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

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

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Janela Principal no Visualizador

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

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Threads WebSphere

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Identificando Eventual Problema

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Procurando por Detalhes

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Acessando o Banco de Dados

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Mais Detalhes

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

E Mais Detalhes Ainda

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Métodos Repetidos

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Método de Acesso ao B.D.

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Vendo com Menos Detalhes

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Na JVM

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Caso de Uso: Valida Usuário no LDAP

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Validação Dupla do Perfil do Usuário

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Caso de Uso XYZ

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

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

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

SWG – WebSphere

Profiling | Como diagnosticar problemas de performance © 2008 IBM Corporation

Referência

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

hmacedo@br.ibm.com

© 2008 IBM Corporation

Profiling: Como Diagnosticar Problemas de Performance

Haroldo R. J. de Macêdo