18
1 Resolvendo problemas de performance em aplicações Delphi e bancos de dados Andreano Lanusse Technical Lead Evangelist, Developer Relations

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

Embed Size (px)

DESCRIPTION

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.

Citation preview

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

1

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

Andreano Lanusse

Technical Lead Evangelist, Developer Relations

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

2

DB Optimizer Visão Geral

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

3

• Ferramenta para performance e tuning• Para QAs e Dev• Resolve problemas rapidamente• Permite aos desenvolvedores identificar e resolver

problema de performance antes de enviar a produção

O que é DB Optimizer?

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

4

DB Optimizer é pra você?

Barato

Caro

Quantos mais tarde se encontra o problema, mais caro será para arrumá-lo

• Dev / QA – Fácil (não teu um DBA)– Seguro (profile tem impacto mínimo e somente leitura)– Poderoso (abra a caixa preta do banco de dados)

• DBAs– Ferramenta comum para dialogar com Dev, QAs e

gerência

• Gerente/Diretor– Ajuda nas discussões e tomada de decisão– Por exemplo, onde alocar recurso no desenvolvimento,

DBA ou hardware

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

5

Colaboração

• Antes DB Optimizer– Desenvolvedor culpa o banco de dados

• Após DB Optimizer– Acaba o jogo de empurra– Abre o debate– Permite a colaboração

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

6

Funcionalidades

Profile

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

7

Funcionalidades

Profile

Tune

Load Test

SQL IDE

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

8

Funcionalidades

Profile

Tune

Load Test

SQL IDE

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

9

Funcionalidades

Profile

Tune

Load Test

SQL IDE

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

10

Pergunte a vocês mesmo ou seu time

• Para DBAs– Como identificar problemas de performance em SQL? Pró ativo? Reativo– Como você gerencia problemas inesperados de performance em SQL? – Quanto tempo você gasta tentando resolver estes problemas? Você tem uma

ferramenta de Profile? E uma ferramenta para avaliar stress-test?– O que você utiliza para otimizar código SQL? – Se você utiliza múltiplos DBMSs: Você tem uma ferramenta para de profile e

tune para cada DBMS?

• Para Developers e QA– Você está escrevendo código SQL? Como você otimiza o SQL?– O que você acha de execute teste de strees no código SQL e otimizá-lo antes de

enviar para DBAs e QA?– Como você e/ou QA tem certeza que o SQL terá boa performance em produção?

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

11

Melhores práticas em otimização de SQL

Problemas de performance?

Capture uma imagem da

situação

Diagnosticar gargalos

Otimizar top SQL

Profile e stress test para validar

Análise avançada e otimização

Não foi o suficiente?

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

12

1. Problemas na aplicação

insert into foo values ('a');commit;insert into foo values ('a');commit;insert into foo values ('a');commit;insert into foo values ('a');commit;insert into foo values ('a');commit;insert into foo values ('a');commit;insert into foo values ('a');commit;

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

13

2. Problemas no banco de dados

begin for i in 1..1000 loop insert into foo values ('a'); end loop;end;/Commit;

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

14

3. Servidor mal dimencionado

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

15

4. Precisa otimizar os SQLs

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

16

Demo

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

17

Perguntas

• EDN – Embarcadero Developer Network– http://edn.embarcadero.com/br (Artigos e Vídeos)

• Trial Download– http://www.embarcadero.com/downloads

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

18

Dados para Contato

• Email:[email protected]

• Blog:http://www.andreanolanusse.com

• Twitter:http://twitter.com/andreanolanusse