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

4.905 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
  • Seja o primeiro a comentar

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 />

×