A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Xdebug Aluno: Diego Rangel da Silva Profiler de Sistema PHP.

Apresentações semelhantes


Apresentação em tema: "Xdebug Aluno: Diego Rangel da Silva Profiler de Sistema PHP."— Transcrição da apresentação:

1 Xdebug Aluno: Diego Rangel da Silva Profiler de Sistema PHP

2 Análise Estática e Análise Dinâmica (Performance) Análise Estática: não envolve a execução propriamente dita do produto. Pode e deve ser aplicada em qualquer artefato intermediário. Análise Estática: não envolve a execução propriamente dita do produto. Pode e deve ser aplicada em qualquer artefato intermediário. Ex.: Revisões técnicas, inspeção de código. Análise Dinâmica: envolve a execução do produto. Análise Dinâmica: envolve a execução do produto. Ex.: Testes de Software, Simulação. Fonte: (Maldonado e Fabbri em (Rocha et al., 2001)).

3 Porque Fazer Análise de Performance(Desempenho)? A análise de performance é um teste feito no sistema para determinar e validar a sua velocidade, escalabilidade, e estabilidade sobre execução. (Scott Barber, 2007) O que é a análise de performance? Velocidade: a aplicação responde rápido? Tem alguma limitação? Velocidade: a aplicação responde rápido? Tem alguma limitação? Escalabilidade: quantos usuários suporta? Escalabilidade: quantos usuários suporta? Quantos dados eu consigo armazenar? Estabilidade: vai falhar sobre alta carga? Se ocorrer um Downtime? Estabilidade: vai falhar sobre alta carga? Se ocorrer um Downtime?

4 Categorias de Teste de Performance Teste de Performance Teste de Performance Teste de Carga Teste de Carga Teste de Stress Teste de Stress

5 FACCHINI, G.. Introdução ao Teste de Performance (Conferência ou palestra). Processo de Análise de Desempenho

6 FACCHINI, G.. Introdução ao Teste de Performance (Conferência ou palestra). Divisão do Processo em Subcamadas

7 Pagas Pagas HP – Loadrunner HP – Loadrunner IBM – Rational Performance Tester IBM – Rational Performance Tester Borland – SilkPerformer Borland – SilkPerformer Gratuitas Gratuitas JMeter JMeter OpenSTA OpenSTA WebLoad WebLoad Xdebug Xdebug Ferramentas

8 Profiling com Xdebug O Xdebug é um plugin e sua instalação e configuração é feita através de uma IDE compatível com a linguagem PHP. Exemplo: NetBeans, Eclipse, Zend Studio,etc. O Xdebug é um plugin e sua instalação e configuração é feita através de uma IDE compatível com a linguagem PHP. Exemplo: NetBeans, Eclipse, Zend Studio,etc. Com ele você pode gerar arquivos cachegrind que contem informações da análise de desempenho. Com ele você pode gerar arquivos cachegrind que contem informações da análise de desempenho. Você precisa de uma ferramenta para ler estes arquivos. Você precisa de uma ferramenta para ler estes arquivos. Exemplos: WinCacheGrind, KCacheGrind, webgrind. Esta ferramentas permitem você analisar o script em execução. Esta ferramentas permitem você analisar o script em execução.

9 WinCacheGrind(Windows)

10 KCacheGrind Screenshot(Linux)

11 Tempos de resposta Tempos de resposta Capacidade de crescimento Capacidade de crescimento Comparação entre hardware/software/configuração Comparação entre hardware/software/configuração Relatórios indicam pontos de melhoria Relatórios indicam pontos de melhoria Resultados do Teste

12 Qual hardware necessário? Qual hardware necessário? Qual a configuração necessária? Qual a configuração necessária? Qual sistema operacional? Qual sistema operacional? Qual banco? Qual banco? Podemos crescer? Quanto? Podemos crescer? Quanto? Qual o tempo de resposta? Qual o tempo de resposta? Quais são nossos gargalos? Quais são nossos gargalos? Perguntas Respondidas

13 1º Artigo Autores: Yu. V. Shabatura, Cand. Sc. (Eng); I. V. Shtelmakh; M. Yu. Shabatura Autores: Yu. V. Shabatura, Cand. Sc. (Eng); I. V. Shtelmakh; M. Yu. Shabatura Título: New Method For Improvement Software Performance In Computing Systems By Automatical Searching of «BOTTLENECKS» Título: New Method For Improvement Software Performance In Computing Systems By Automatical Searching of «BOTTLENECKS» Periódico: Informational Technologies And Computer Enginnering Periódico: Informational Technologies And Computer Enginnering Ano: 2009 Ano: 2009

14 Introdução O objetivo do autor é otimizar o tempo de execução de um sistema resolvendo os problemas de busca de gargalo de forma mais eficiente. O objetivo do autor é otimizar o tempo de execução de um sistema resolvendo os problemas de busca de gargalo de forma mais eficiente. Na Engenharia existe um fenômeno conhecido como gargalo, que limita a capacidade de produtividade de um sistema devido a presença de alguns elementos. Na Engenharia existe um fenômeno conhecido como gargalo, que limita a capacidade de produtividade de um sistema devido a presença de alguns elementos.

15 Gráfico de chamadas

16 Esquema de Sistema

17 Análise de Resultados Para realizar a otimização da busca por gargalos. Os resultados encontrados na análise são filtrados. Para realizar a otimização da busca por gargalos. Os resultados encontrados na análise são filtrados. São retirados as chamadas a função que atingiram um tempo menor que o limite determinado abaixo:

18 Resultado

19 Conclusão do Artigo A estruturação e suporte a algoritmo para construção de sistema automatizado teve como objetivo otimizar a eficiência de sistemas de computação através da redução da influência de botttlenecks. A estruturação e suporte a algoritmo para construção de sistema automatizado teve como objetivo otimizar a eficiência de sistemas de computação através da redução da influência de botttlenecks. Como resultado do estudo experimental, o sistema mostrou a habilidade de visualizar o processo de execução do programa e otimizar a sua performance. Como resultado do estudo experimental, o sistema mostrou a habilidade de visualizar o processo de execução do programa e otimizar a sua performance.

20 Teste de Desempenho é importante para: Teste de Desempenho é importante para: Identificar utilização do sistema Identificar utilização do sistema Verificar tempos de resposta Verificar tempos de resposta Aperfeiçoar o ambiente/programa Aperfeiçoar o ambiente/programa Existem diversas ferramentas realizar esta análise, uma delas é a Xdebug. Existem diversas ferramentas realizar esta análise, uma delas é a Xdebug. A experiência do usuário (cliente) está intimamente ligada com o teste de desempenho A experiência do usuário (cliente) está intimamente ligada com o teste de desempenhoConclusão

21 Referências Patterns & Practices -Performance Testing Guidance for Web Applications (Autor: Scott Barber) Patterns & Practices -Performance Testing Guidance for Web Applications (Autor: Scott Barber) FACCHINI, G.. Introdução ao Teste de Performance (Apresentação de Trabalho/Conferência ou palestra). FACCHINI, G.. Introdução ao Teste de Performance (Apresentação de Trabalho/Conferência ou palestra). Yu. V. Shabatura, Cand. Sc. (Eng); I. V. Shtelmakh; M. Yu. Shabatura New Method For Improvement Software Performance In Computing Systems By Automatical Searching of «BOTTLENECKS» Informational Technologies And Computer Enginnering Yu. V. Shabatura, Cand. Sc. (Eng); I. V. Shtelmakh; M. Yu. Shabatura New Method For Improvement Software Performance In Computing Systems By Automatical Searching of «BOTTLENECKS» Informational Technologies And Computer Enginnering Molyneaux Molyneaux, I. (2009). The Art of Application Performance Testing: Help for Programmers and Quality Assurance. O Reilly Media. 1a edição. Molyneaux Molyneaux, I. (2009). The Art of Application Performance Testing: Help for Programmers and Quality Assurance. O Reilly Media. 1a edição.

22 Engajamento Para que testar? Quantos usuários? Qual SLA? Quais as transações críticas? Voltar

23 Plano de Perfomance Baseado na atividade anterior, define-se os tipos de testes que ocorrerão Aprofundamento dos requisitos Já existem dados de produção que podem ser utilizados como estimativas? Voltar

24 Schedule(Programação) Define-se os tempos de cada atividade subseqüente Voltar

25 Preparação do Código Scripts automatizados Código que roda consultas em banco, dispara processos Voltar

26 Preparação de Dados É necessária a criação de dados? De que tipo? Como criar? Criação antecede o teste... Voltar

27 Preparação do Processo de Limpeza Dados são invalidados depois de utilizados? Precisa limpar depois de cada execução? Preencher valores ausentes? Voltar

28 Preparação do Ambiente Em que hardware? Configuração de software Configuração de rede Devemos ter um ambiente similar (comparável) ao de produção Voltar

29 Execução Os testes planejados são executados São identificados os gargalos do sistema (DB? SO? Web? App?) Se os SLA não são atingidos ou o tempo de resposta é ruim ou inaceitável para os usuários, corrige-se os gargalos Re-execução e correção (tunning) do sistema são feitos até atingir o resultado esperado Voltar

30 Relatórios Relatórios de utilização esperada de recursos Tempos de resposta dos usuários Principais melhorias Voltar

31 Monitoramento de Produção Identificar se o comportamento de produção está dentro do cenário previsto no teste O tempo de resposta está aceitável? Existe alguma camada que está sobre-carregada? Voltar

32 Fechamento do Processo Se não existem problemas em produção, finaliza-se o processo de performance Voltar


Carregar ppt "Xdebug Aluno: Diego Rangel da Silva Profiler de Sistema PHP."

Apresentações semelhantes


Anúncios Google