Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.

Slides:



Advertisements
Apresentações semelhantes
Sistemas Operacionais
Advertisements

Sistemas Operacionais
Sistemas Operacionais Aula II
INTRODUÇÃO À COMPUTAÇÃO Sistemas Operacionais
Sistema Operacional Introdução
Módulo 1: Criando bancos de dados e arquivos de banco de dados
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados I 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Sumário 1 SQL Embutida 2 Processamento de Consultas
Sistemas Operacionais
Componentes Arquitetônicos de um Banco de Dados Oracle
Banco de Dados Oracle AESO.
Avaliação de Sistemas Operacionais
Threads Estagiário: Bruno Guazzelli Batista Slides de autoria do Prof Drº Marcos José Santana baseados no livro Sistemas Operacionais Modernos de A. Tanenbaum.
Sistemas Operacionais
Org. e Projeto de Banco de Dados
Daniel Paulo Introdução A disponibilidade de um sistema é a probabilidade de que ele esteja funcionando num determinado momento.
Daniel Paulo SQL Server 2008 Módulo III Daniel Paulo
Daniel Paulo Conceitos de Banco de Dados - Processamento de Transações de Dados - Gerenciamento de dados OLAP/OLTP - Alto desempenho.
Prof. Alexander Roberto Valdameri
Prof. Alexander Roberto Valdameri
Fundamentos de Banco de Dados Prof. Alexander Roberto Valdameri
Threads.
Performance em aplicações web – Parte I
HARDWARE do CLP Os controladores lógicos programáveis são equipamentos com uma aplicação muito vasta dentro dos diversos processos de automação. Desta.
Query Tuning Lílian Simão Oliveira.
Sistemas Operacionais I
Administração de Sistema Operacional de Rede WindowsServer-2003 WindowsServer-2003 Ricardo de Oliveira Joaquim TECNOLÓGICOS.
Sandro Gonçalves Murara
SISTEMAS OPERACIONAIS
Sistemas Operacionais
Sistemas Operacionais
Monitoramento SQL Server
Tuning Lílian Simão Oliveira.
SISTEMAS DE GERENCIAMENTO DE BANCO DE DADOS Hélder Lima e Silva - hmls
FaculdadePitágoras Curso Superior de Tecnologia: Banco de Dados Disciplina: Sistemas Gerenciadores de Banco de Dados Prof.: Fernando Hadad Zaidan.
Controle de concorrência
BD Distribuído Conceitos Iniciais.
Danilo Mendonça Oliveira
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Capítulo VIII Ambientes de Execução
Sistemas Operacionais
SISTEMAS OPERACIONAIS I
Bancos de Dados Estrutura e Funcionamento de um SGBD
Conceitos Básicos de Informática
Introdução O que se espera de um sistema de computação?
Sistemas Operacionais
1 15/4/ :36 FMU – 1. Semestre – Tecnologia – Analise e Desenvolvimento de Sistemas Professor: Eduardo Silvestri Aluno:Clóvis de Oliveira- RA
Planejamento de Capacidade e Resolução de Problemas
Controle de Concorrência
Gerenciamento de Memória - Capítulo 7 - Sistemas Operacionais Prof. Dr. José Carlos Becceneri Luciana Sêda Cardoso.
Conceitos de Monitoramento
Redes e Sistemas Distribuídos II – Cód Prof. MSc. Ronnison Reges Vidal.
Daniel Paulo Introdução O Gerenciamento de um banco de dados envolve um amplo conjunto de aspectos que devemos observar. Neste.
Daniel Paulo Banco de dados: é uma coleção/conjunto de registros relacionados.  Exemplo: O banco de dados de uma Universidade.
Daniel Paulo Backup Para evitar perdas de informações importantes, será necessário criar estratégias para a implementação de.
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Daniel Paulo Introdução Informações de uma tabela ou view podem ser encontradas de maneira mais rápida através da utilização.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
Daniel Paulo Introdução A disponibilidade de um sistema é a probabilidade de que ele esteja funcionando num determinado momento.
Daniel Paulo SQL Server 2014 Módulo II Daniel Paulo
Sistemas Operacionais
Capítulo 2 Processos e Threads 2.1 Processos 2.2 Threads
Sistemas Operacionais IV – Gerenciamento de E/S
UCSal – Bacharelado em Informática Banco de Dados Profa. Semíramis Assis
Banco de Dados Distribuídos Sílvia Cristina de Matos Soares
Programação para Web I AULA 2 BANCO DE DADOS.
Gerência de Memória. Memória Considerações: Recurso caro e escasso; Programas só executam se estiverem na memória principal; Quanto mais processos residentes.
SQL Saturday #469 - Brasília SQL 2016 CTP Query Store Luiz Mercante
Estruturas de Sistemas Operacionais. Componentes Comuns do Sistema Administração de Processos Administração da Memória Principal Administração do Armazenamento.
UNIVERSIDADE CATÓLICA DE PELOTAS CENTRO POLITÉCNICO CURSO DE CIÊNCIA DA COMPUTAÇÃO Redes de Computadores Ferramenta NTop (Network Traffic Probe) Explorador.
Transcrição da apresentação:

Daniel Paulo

Introdução O 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

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

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

O que fazer para diminuir o tempo de resposta Reduçõ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)

O que fazer para diminuir o tempo de resposta Reduçõ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)

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

Queries - Escrever consultas otimizadas - Capazes de obter somente os dados necessários - Com índices que sejam úteis

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

Planejando o ajuste de performance O 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

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

Ajustando a performance de uma aplicação Devemos 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

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

- 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

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 TSQL Realizar monitoramento das atividades executadas e da consistência dos daods do SQL - SQL Profiler, SQL Server Management e Database Engine Tunning Advisor Monitoramento de índices úteis, de quantidade de entrada/saída e de tempo de CPU com relação às queries

Ferramentas de Monitoramento Windows System Monitor Ferramenta do Windows (perfmon) que realiza o monitoramento da performance e verifica as atividades realizadas no servidor por meio de contadores.

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

- 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

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

Exemplo perfmon SQL Profiler

Ferramentas TSQL sp_spaceused - quantidade de espaço utilizado pelas tabelas ou banco de dados SP_HELPDB – Informações do banco de dados SP_MONITOR - Retorna estatísticas do SQL SP_WHO - Retorna os usuários e os processos sp_lock - Mostra as informações referentes aos impedimentos,locks e deadlocks sp_statistics - retorna todos os índices de uma tabela sp_helpindex - retorna informações dos índices de uma tabela

Utilizando comandos SQL Set statistics IO {ON/OFF} - Apresenta as informações referentes à utilização do disco Set statistics time - Apresenta o tempo necessário para compilar e executar cada um dos comandos Set statistics Profile - Apresenta um perfil após a execução de cada query set showplan_text (on/off)- Exibe as informações do plano de execução em modo texto

Utilizando variáveis globais - informa o ID da procedure atual - Informa qual o número do erro - Informa a quantidade de logins ou a tentativa de login efetuadas desde à última inicialização - Informa o ID referente ao processo de sevidor atual do usuário

Utilizando com comandos DBCC DBCC TRACEON - Habilita as flags de rastreamento de forma global DBCC TRACEOFF - Desabilita as flags de rastreamento de forma global DBCC TRACESTATUS - Exibe as flags de rastreamento de forma global

SQL Server Management Studio ACTIVITY Monitor Exemplo

Deadlock Um 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

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

Laboratório página 672 à 685

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