Resolvendo problemas de performance em aplicações Delphi e bancos de dados

4.703 visualizações

Publicada em

Encontrar as causas dos problemas de desempenho em aplicações e banco de dados consome muito tempo e não é uma tarefa simples. Durante esta apresentação através de um cenário real vamos conhecer como a integração entre ER/Studio, RAD Studio e DB Optimizer nos pode ajudar a localizar e resolver os problemas no código, SQL e banco de dados.

Publicada em: Tecnologia
0 comentários
3 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
4.703
No SlideShare
0
A partir de incorporações
0
Número de incorporações
1.044
Ações
Compartilhamentos
0
Downloads
138
Comentários
0
Gostaram
3
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Database performance issueshappen to developers (Rapid SQL and RAD Studio users), QA Engineers (loadtestingand performance testing), and DBAs (DBArtisan users)There are opportunities for these roles to collaborateusing DB OptimizerSharing a profilesession snapshot for focuseddiagnosisandroot cause analysisProfilesession snapshots canbecapturedduring stress testingbythedeveloper, duringloadtestingbythe QA engineer, and in productionbythe DBAStress testing in theLoad Editor helpsvalidate performance gainsIndexAnalysisand VST diagrams are innovations in tuningthatallow for advancedtuningtechniques to bedelivered to a wideraudience to make more expertsandstreamline troubleshooting
  • Resolvendo problemas de performance em aplicações Delphi e bancos de dados

    1. 1. Resolvendo problemas de performance em aplicações Delphi e bancos de dados<br />Andreano Lanusse<br />Technical Lead Evangelist, Developer Relations<br />
    2. 2. DB Optimizer Visão Geral<br />
    3. 3. Ferramenta para performance e tuning<br />Para QAs e Dev<br />Resolve problemas rapidamente<br />Permite aos desenvolvedores identificar e resolver problema de performance antes de enviar a produção<br />O que é DB Optimizer?<br />
    4. 4. DB Optimizer é pra você? <br />Dev / QA <br />Fácil (não teu um DBA)<br />Seguro (profile tem impacto mínimo e somente leitura)<br />Poderoso (abra a caixa preta do banco de dados)<br />DBAs<br />Ferramenta comum para dialogar com Dev, QAs e gerência<br />Gerente/Diretor<br />Ajuda nas discussões e tomada de decisão<br />Por exemplo, onde alocar recurso no desenvolvimento, DBA ou hardware<br />Barato<br />Quantos mais tarde se encontra o problema, mais caro será para arrumá-lo<br />Caro<br />
    5. 5. Colaboração<br />Antes DB Optimizer<br />Desenvolvedor culpa o banco de dados<br />Após DB Optimizer<br />Acaba o jogo de empurra<br />Abre o debate<br />Permite a colaboração<br />
    6. 6. Funcionalidades<br />Profile<br />
    7. 7. Funcionalidades<br />Profile<br />Tune<br />Load Test<br />SQL IDE<br />
    8. 8. Funcionalidades<br />Profile<br />Tune<br />Load Test<br />SQL IDE<br />
    9. 9. Funcionalidades<br />Profile<br />Tune<br />Load Test<br />SQL IDE<br />
    10. 10. Pergunte a vocês mesmo ou seu time<br />Para DBAs<br />Como identificar problemas de performance em SQL? Pró ativo? Reativo<br />Como você gerencia problemas inesperados de performance em SQL? <br />Quanto tempo você gasta tentando resolver estes problemas? Você tem uma ferramenta de Profile? E uma ferramenta para avaliar stress-test?<br />O que você utiliza para otimizar código SQL? <br />Se você utiliza múltiplos DBMSs: Você tem uma ferramenta para de profile e tune para cada DBMS?<br />Para Developers e QA<br />Você está escrevendo código SQL? Como você otimiza o SQL?<br />O que você acha de execute teste de strees no código SQL e otimizá-lo antes de enviar para DBAs e QA?<br />Como você e/ou QA tem certeza que o SQL terá boa performance em produção?<br />
    11. 11. Melhores práticas em otimização de SQL<br />Problemas de performance?<br />Capture uma imagem da situação<br />Diagnosticar gargalos<br />Otimizar top SQL<br />Profile e stress test para validar<br />Análise avançada e otimização<br />Não foi o suficiente?<br />
    12. 12. 1. Problemas na aplicação<br />insert into foo values ('a');<br />commit;<br />insert into foo values ('a');<br />commit;<br />insert into foo values ('a');<br />commit;<br />insert into foo values ('a');<br />commit;<br />insert into foo values ('a');<br />commit;<br />insert into foo values ('a');<br />commit;<br />insert into foo values ('a');<br />commit;<br />
    13. 13. 2. Problemas no banco de dados<br />begin<br /> for i in 1..1000 loop<br /> insert into foo values ('a');<br /> end loop;<br />end;<br />/<br />Commit;<br />
    14. 14. 3. Servidor mal dimencionado<br />
    15. 15. 4. Precisa otimizar os SQLs<br />
    16. 16. Demo<br />
    17. 17. Perguntas<br />EDN – Embarcadero Developer Network<br />http://edn.embarcadero.com/br (Artigos e Vídeos)<br />Trial Download<br />http://www.embarcadero.com/downloads<br />
    18. 18. Dados para Contato<br />Email:Andreano.Lanusse@embarcadero.com<br />Blog:http://www.andreanolanusse.com<br />Twitter:http://twitter.com/andreanolanusse<br />

    ×