daniel paulo [email protected]. introdução o tempo de resposta de um sistema é determinado...
TRANSCRIPT
![Page 1: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/1.jpg)
Daniel [email protected]
![Page 2: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/2.jpg)
IntroduçãoO tempo de resposta de um sistema é determinado pelo tempo
que ele leva para retornar aos usuários às suas solicitações.- Conforme o tempo de resposta o sistema é considerado rápido
ou lento- É necessário prever o tempo de retorno desde o início do
projeto- Fatores podem alterar a performance do sistema:
Concorrência, quantidade de dados, fragmentação , etc
![Page 3: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/3.jpg)
Considerações para uma boa performance na fase de projeto
Durante a fase de projeto alguns fatores são essenciais para determinar uma boa performance:
- Modelagem de Dados- Regras de normalização e denormalização
![Page 4: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/4.jpg)
Fatores que afetam o tempo de resposta- Capacidade física apresentada pelos hardware- Competição pelos registros de dados- Otimização do banco de dados e da aplicação- Quantidade de atividades realizadas pelo servidor- Quantidade de consultas realizadas de forma
concorrente
![Page 5: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/5.jpg)
O que fazer para diminuir o tempo de respostaReduções - Redução de quantidade de acesso ao disco- O tempo que a CPU leva para executar um
determinado processo- Tráfego na rede- Concorrência (Neste caso desenvolver transações
curtas)
![Page 6: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/6.jpg)
O que fazer para diminuir o tempo de respostaReduções - Redução de quantidade de acesso ao disco- O tempo que a CPU leva para executar um
determinado processo- Tráfego na rede- Concorrência (Neste caso desenvolver transações
curtas)
![Page 7: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/7.jpg)
HardwareHardware adequado para o Banco de Dados- Configurações e gerenciamentos- Configuração adequada do sistemas operacional- Configuração adequada do Banco de Dados- Gerenciamento da fragmentação dos dados- Atualização das estatísticas
![Page 8: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/8.jpg)
Queries- Escrever consultas otimizadas- Capazes de obter somente os dados
necessários- Com índices que sejam úteis
![Page 9: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/9.jpg)
Fatores importantes- Como ocorre o acesso aos dados- O quão seletivo são os dados- Como a aplicação é utilizada em sistemas OLAP e OLTP- Qual a estrutura física e lógica dos dados e como são utilizados- Qual o ambiente em que a aplicação é executada, bem como
seus usuários e dados- Quais são as queries executadas pelos usuários e quantas são
processadas pelo servidor de forma concorrente
![Page 10: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/10.jpg)
Planejando o ajuste de performanceO planejamento deve ser realizado com base:- no volume de atividades - na capacidade física- na quantidade de queries que devem ser
processadas- projeto de banco de dados e aplicação- e no fator de contenção
![Page 11: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/11.jpg)
Situação atual do sistema e objetivos a serem alcançados
Para planejar o ajuste devemos definir não apenas os parâmetros ideais, mas também os parâmetros atuais
A definição dos parâmetros atuais é definida com o monitoramento do sistema durante um certo período
![Page 12: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/12.jpg)
Ajustando a performance de uma aplicaçãoDevemos verificar- Se os Índices são úteis- Somente dados necessários são obtidos nas
consultas- Se existe deadlocks- Contenção de locks- Fragmentação dos dados
![Page 13: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/13.jpg)
Outros ajustes são necessários- Banco de dados: Refinamento do projeto lógico e físico do
banco de dados- SQL Server: Avaliação do projeto de armazenamento e
configurações- Configuração de Hardware: Otimizar a configuração do
Hardware, como exemplo utilização de disco mais rápidos- Identificação de gargalos: Um gargalo é definido como
sendo uma limitação de um componente ou atividade
![Page 14: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/14.jpg)
- Estratégias de índices e de queries: Determinar que sejam criados índices e que sejam escritas queries capazes de obter somente os dados necessários
- Agendamento adequado de tarefas de manutenção: Execução de tarefas fora do horário de maior utilização
![Page 15: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/15.jpg)
Ferramentas adequadas ao monitoramento- Windows System Monitor e Windows 200,2003 e XP Event Viewer:
Ferramentas do Sistema Operacional- JOB Activity Monitor do SQL Server Management Studio, SQL Profiler,
system stored procedures e comandos TSQLRealizar monitoramento das atividades executadas e da consistência dos daods do SQL
- SQL Profiler, SQL Server Management e Database Engine Tunning AdvisorMonitoramento de índices úteis, de quantidade de entrada/saída e de tempo de CPU com relação às queries
![Page 16: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/16.jpg)
Ferramentas de MonitoramentoWindows System MonitorFerramenta do Windows (perfmon) que realiza o
monitoramento da performance e verifica as atividades realizadas no servidor por meio de contadores.
![Page 17: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/17.jpg)
Contadores mais relevante- Available Bytes: Quantidade de memória física disponível- Page/sec: Finalidade de monitorar a quantidade de acessos á
memória virtual (page file)- Page Faults/sec: Apresenta valores que registram as falhas de
páginas- Working Set: Monitora a área de memória recentemente utilizada- Private bytes: Monitoramento da quantidade de bytes que estão
alocados por um processo
![Page 18: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/18.jpg)
- Virtual Bytes: Monitoramento da quantidade de memória virtual que está alocada para um processo
- % Processor Time: Contador que determina a porcentagem de tempo que um processo utiliza a CPU
- % Processor Time (mesmo nome anterior): Monitora a utilização total da CPU no nível do sistema
- % Privileged Time: Contador que apresenta o tempo que o processador levou para realizar comandos do Kernel do sistema operacional
![Page 19: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/19.jpg)
- % User Time: Registra o tempo que a CPU é utilizada para executar os processos de usuário
- % DIsk Time: Tempo de Disco utilizado- Avg. Disk Queue Lenght: Quantidade média de
requerimentos de leitura e gravação
![Page 20: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/20.jpg)
Exemploperfmon
SQL Profiler
![Page 21: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/21.jpg)
Ferramentas TSQLsp_spaceused - quantidade de espaço utilizado pelas tabelas ou banco
de dadosSP_HELPDB – Informações do banco de dadosSP_MONITOR - Retorna estatísticas do SQL SP_WHO - Retorna os usuários e os processossp_lock - Mostra as informações referentes aos impedimentos,locks e
deadlockssp_statistics - retorna todos os índices de uma tabelasp_helpindex - retorna informações dos índices de uma tabela
![Page 22: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/22.jpg)
Utilizando comandos SQLSet statistics IO {ON/OFF} - Apresenta as informações
referentes à utilização do discoSet statistics time - Apresenta o tempo necessário para
compilar e executar cada um dos comandosSet statistics Profile - Apresenta um perfil após a execução
de cada queryset showplan_text (on/off)- Exibe as informações do plano
de execução em modo texto
![Page 23: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/23.jpg)
Utilizando variáveis globais@@procid - informa o ID da procedure atual@@Error - Informa qual o número do erro@@connections - Informa a quantidade de logins ou
a tentativa de login efetuadas desde à última inicialização
@@spid - Informa o ID referente ao processo de sevidor atual do usuário
![Page 24: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/24.jpg)
Utilizando com comandos DBCCDBCC TRACEON - Habilita as flags de rastreamento
de forma globalDBCC TRACEOFF - Desabilita as flags de
rastreamento de forma globalDBCC TRACESTATUS - Exibe as flags de
rastreamento de forma global
![Page 25: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/25.jpg)
SQL Server Management Studio ACTIVITY Monitor
Exemplo
![Page 26: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/26.jpg)
DeadlockUm deadlock ocorre nas situações em que um
determinado processo mantém um lock em um recurso enquanto aguarda pela finalização de um processo.
Em situações como esta o SQL efetua as seguintes tarefas:- Gera uma mensagem de erro- Encerra um dos processos a fim de que o outro seja
finalizado desfazendo suas transações
![Page 27: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/27.jpg)
Impedimentos Um impedimento ocorre nas situações em que um
determinado recurso permanece bloqueado durante muito tempo por uma transação longa.
Para evitar ocorrências de impedimento devemos:- Criar transações curtas- Indexar as tabelas- Monitorar a fragmentação dos dados
![Page 28: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/28.jpg)
Laboratório página 672 à 685
![Page 29: Daniel Paulo dptsalvador@hotmail.com. Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às](https://reader034.vdocuments.mx/reader034/viewer/2022051615/552fc10c497959413d8c42a0/html5/thumbnails/29.jpg)
Inpedimentos Um impedimento ocorre nas situações em que um
determinado recurso permanece bloqueado durante muito tempo por uma transação longa.
Para evitar ocorrências de impedimento devemos:- Criar transações curtas- Indexar as tabelas- Monitorar a fragmentação dos dados