SQL Saturday #512 - Rio Passo a Passo para realizar uma Consultoria de Tuning em um Cliente Fabrício Lima | FabricioLima Soluções em BD Site:

Slides:



Advertisements
Apresentações semelhantes
Criando aplicações WEB
Advertisements

WebDesign Redes de Computadores Aula 07
SQL Avançado Continuação
Tecnologia de Banco de Dados Grupo 3: Diógenes LíbanoElton S. Vianna Euglen AssisLisa Hayashida Marcelo da Cruz SalvadorRicardo Takemura Gerenciador de.
Acompanhamento e atendimento ao cliente
Pesquisa 4 dias A PESQUISA DE 4 DIAS É UMA FERRAMENTA ADICIONAL .
Site Pedidos Online - Seção Pedidos Pendentes
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Central de Serviços de TI
Tente ler sem chorar!!!.
Uma carta de GLORIA MAYFIELD!!!!!
Query Tuning Lílian Simão Oliveira.
A BONECA.
Vai lá Roxy!.
Olá meninas, essa aqui é minha prima Jessie!
Treinamento: Atendimento, vendas e fechamento.
Retextualização conto de machado de Assis ( pai contra mãe)
As Meninas Superpoderosas
Conteúdo Processos e threads Partes do processo
Projetos digitais colaborativos Empresa 2.0 Gestão do conhecimento funciona?
GOVERNANÇA E GESTÃO DE TI NA PMMA
Programador – Como Me tornar Um!
Treinamento sobre SQL.
Acessando o WI Após fazer o deploy pelo Tomcat, digite
Curso de Aprendizado Industrial Desenvolvedor WEB Disciplina: Programação Orientada a Objetos I Professora: Cheli Mendes Costa Classes e Objetos em Java.
Gestão de defeitos.
Aprendi que eu não posso exigir o amor de ninguém, posso apenas dar boas razões para que gostem de mim e ter paciência, para que a vida faça o resto.
Introdução a Banco de Dados
A TURMA DO MERCADINHO DA ESQUINA
Convidando e Recebendo Participantes.
Treinamento SQL Server
By Búzios Slides A GRANDE ANOXIMA DA VIDA Automático.
Há exatos 4 anos atrás, duas pessoas que eram completamente diferentes, um carinha tímido e uma menina bem extrovertida e falante, se conheciam.
Acesse o site da escola e veja o link com as regras e dicas completa.
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve.
Programação para Web I AULA 2 BANCO DE DADOS.
Consultoria em Organização por Palestra On Line AFSI dia - 27/7/2015 Horário- ? Tema: Remoção e Organização é Possível? Dicas práticas para tornar sua.
FILOSOFIA WTA CAPACITAÇÃO SÃO PAULO (OSASCO): 2 ANOS PARA PT.
PLANO WTA CAPACITAÇÃO: 2 ANOS PARA PT. 17H30-19H TREINAMENTO DE GRUPO (FECHADO) 19H-20H TREINAMENTO GERAL ABERTO A NOVOS CONSULTORES AGENDA DA CAPACITAÇÃO.
FILOSOFIA WTA CAPACITAÇÃO SÃO PAULO (OSASCO): 2 ANOS PARA PT.
PLANO WTA CAPACITAÇÃO: 2 ANOS PARA PT. 17H30-19H TREINAMENTO DE GRUPO (FECHADO) 19H-20H TREINAMENTO GERAL ABERTO A NOVOS CONSULTORES AGENDA DA CAPACITAÇÃO.
Oii, eu sou Antônio Lucas Coordenador nacional da Seleção Brasileira de Máster e se você está aqui...
WJME. E MARKETING PLANO DE VENDAS 2012/2013 WJME.
SOLUÇÃO PRONIM E-SOCIAL
Conheça nossa turma que irá acompanhar você durante todas as atividades:
Educação Financeira para crianças e Jovens
Educação Financeira para crianças e Jovens
Autorizar Programas para Usuários Esse help servirá para ajudar a configurar as permissões para os funcionários da empresa.
Compras – Controle de Estoque. Por que é necessário controlar o estoque? Reduzir custos –Se há excesso em estoque A empresa terá custos operacionais para.
SisMoura: Multi-Loja Manual de Implantação. Apresentação A seguir mostraremos os passos necessários para que os bancos de dados das lojas estejam aptos.
STRESS.
Proporção: regra de três simples – resolução de situações problema
5 Dicas de marketing para iniciantes. Meu nome é Gustavo Montanari, sou autor do blog rendaextrasemsegredos.com e um dos motivos pelo qual resolvi.
SCGAB/CSUP /SETIN Copernic... Você sabe usá-lo? SCGAB - Seção de Consultoria a Gabinetes O que é o Copernic Desktop Search? Copernic Desktop Search é.
Administração de banco de dados José Antônio da Cunha IFRN.
SQL Saturday #469 - Brasília SQL 2016 CTP Query Store Luiz Mercante
Administração de Banco de dados José Antônio da Cunha CEFET-RN.
José Antônio da Cunha IFRN Administração de Banco de Dados.
SQL Saturday #469 - Brasília Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD
SQL Saturday #488 Assumi o cargo de DBA. O que devo aprender para ontem? Fabrício Lima | FabricioLima Soluções em BD Site:
Com isto a variável (que geralmente é o X) terá um único valor!
O Que Todo Desenvolvedor Deve Saber Sobre o SQL Server.
CARREIRA COMERCIAL CHAVES PARA O CRESCIMENTO DE EQUIPE
Assumi o cargo de DBA. O que devo aprender para ontem??? Fabrício | FabricioLima Soluções em BD
Programação para Internet Aula 12 SQL (Comandos de Consulta ao BD)
Como Vender Através do Conteúdo. Você sabe como vender através do conteúdo? Se não sabe eu recomendo que você não desgrude os olhos desse Slide, pois.
SQL Saturday #512 Boas Vindas O dia a dia de um Administrador de banco de dados. Thiago Cruz.
Passo a Passo para realizar uma Consultoria de Tuning em um Cliente Fabrício Lima | FabricioLima Soluções em BD Site: SQL.
Índices para Iniciantes
Transcrição da apresentação:

SQL Saturday #512 - Rio Passo a Passo para realizar uma Consultoria de Tuning em um Cliente Fabrício Lima | FabricioLima Soluções em BD Site: #SqlSatRJ

Patrocinadores

Como cheguei até aqui?  Grupo Dadalto (10 anos):  Estagiário (3 meses)  Analista de Banco de Dados (2 anos)  DBA (Júnior/Pleno/Senior – 6 anos)  Coordenador de infra e DBA (2 anos)  Fabricio Lima Soluções em BD - Consultorias e Treinamentos  Desde Junho de 2015 até hoje  Palestrante em eventos  Blog sobre SQL Server 

Consultoria de Tuning – Cenários Reais Clientes que já atendi em consultorias: 77 Clientes Clientes que pediram um Tuning: 55 Clientes Preciso te dar mais motivos para aprender sobre Tuning???

Consultoria de Tuning – Cenários Reais Clientes Grandes com Ambientes Complexos: Tem um DBA

Consultoria de Tuning – Cenários Reais Clientes de Pequeno e Médio Porte: OPA!!! Estamos aí!!! Normalmente não Tem um DBA

Agenda - Passo a Passo de Tuning 1.Conhecer o ambiente do Cliente 2.Criação de rotinas de Log (Baseline) i.Log da Whoisactive ii.Log Queries Demoradas 3.Atualização de Estatísticas 4.Desfragmentação de Índices 5.WaitsStats 6.Análise de queries (Parte Principal do Tuning) 7.DMV de Utilização de Índices 8.DEMO 9.Relatório de Melhorias

1 - Conhecer o ambiente do Cliente Validar com o cliente como a empresa funciona O que a empresa faz (qual a criticidade do ambiente) Qual o horário de funcionamento (horário de pico) Conferir a versão do SQL e as Maiores Bases e Tabelas Analisar os recursos do Servidor Analisar a quantidade de memória disponível e o limite do SQL Server

2 - Log de histórico da sp_whoisactive  Link para Download do código dessa procedure:  /03/22/released-who-is-active-v11-11.aspx  São quase 5 mil linhas de código Adam Machanic  Rotina para criar um histórico com o resultado dessa procedure a cada 1 min:  um-log-de-historico-da-sp_whoisactive/

História Real do Dia a Dia  Usuário: Meu relatório esta Lento!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  DBA: Eu conferi no meu log, vi que você rodou ele às 13h45min, da máquina FIN01 e ele demorou 1min27s. Mas pode deixar que vou tentar melhorar esse tempo.  DBA: Lento Quanto?  Usuário: Está demorando uns 15 minutos... Uma Jaca!!! Poucos segundos depois...

História Real do Dia a Dia  Usuário: É rapaz... É isso mesmo. Não são 15 minutos não... me confundi...  Mas está lento!!! Poucos minutos depois...  DBA: Pronto. Agora está rodando em 1 segundo! Usuário: COMO?? Macumba?? Milagre!!!! Como que esse miserável da TI sabe disso???

História Real do Dia a Dia DBA Comemorando:  Que Log é esse que tem o poder de desmascarar um usuário?  Server Side Trace (Profile) ou Extended Events

 Passo a passo para a criação de um Trace de queries demoradas no BD:  demoradas-do-banco-de-dados-parte-1/  do-banco-de-dados-parte-2/ 2 - Log de queries Lentas  Se usado de forma errada, o profile e até mesmo o XEvents pode parar seu banco de dados.

 Até esse momento criamos duas rotinas para ficar coletando informações do ambiente do cliente:  Foto da whoisactive (a cada 1 minuto)  Queries mais demoradas do ambiente  Deixo esses jobs rodando por 2 ou 3 dias no ambiente do cliente e não faço nenhuma intervenção  No final da consultoria vamos validar se o número de queries lentas diminuiu Passado 2 ou 3 dias de coleta... Agora sim podemos começar a realizar nossas melhorias de Tuning Onde estamos?

3 - Atualização de estatísticas Algoritmo de atualização de estatísticas no SQL Server: % do tamanho da tabela Pode acontecer a qualquer momento (inclusive durante o dia) Atualização do tipo SAMPLE (SQL escolhe o % de dados que será analisado) Criar uma rotina diária de atualização de estatísticas: seu-banco-de-dados/ Melhorias do SQL Server Já vem nativo (T2371) Em números de linhas: – 25% – 10% – 3.2% – 0,5% – 0,31% rver/2011/09/07/changes-to-automatic- update-statistics-in-sql-server-traceflag-2371/

4 - Desfragmentação de Índices Criar uma rotina diária de Desfragmentação de índices REBUILD x REORGANIZE Scripts ola hallengren maintenance.html

5 - WaitStats DMV: dm_os_wait_stats DBCC SQLPERF ('sys.dm_os_wait_stats', CLEAR) SQL Server Wait Types Library (Paul Randal):

6 – Análise de queries Hora de separar os Homens dos Meninos!!! É aqui que você tem o maior ganho no seu Tuning É a parte que demanda mais horas, mas é o que vai deixar o cliente satisfeito

Análise das queries da tabela Traces..Traces: Queries com maiores Leituras select * from Traces..Traces order by reads desc Queries que mais se repetem no trace order by textdata desc Queries que mais consomem CPU order by CPU desc Queries que mais demoram order by Duration desc 6 – Análise de queries

Conhecimento necessário para melhorar essas queries: Índices T-SQL Plano de Execução Ctrl+L visualizamos o plano estimado para essa query Ctrl+M e execute a query: é mostrado o plano real da execução 6 – Análise de queries

Dicas para analisar uma query: 1.SET STATISTICS IO ON Consumo Antes: Table 'NOMETABELA'. Scan count 1, logical reads Olhar o plano de execução i.Ctrl+M e execute a query ii.Analise se o SQL te sugeriu um índice iii.Se sugeriu, valide se realmente vale a pena iv.Se não sugeriu, valide se pode ser criado um índice melhor que o utilizado pela query 3.Analise se a query tem filtros suficientes 4.Analise a query e vê se ela pode ser feita de outra forma (sub- queries, conversão implícita, funções na cláusula WHERE e etc) Consumo Depois: Table 'NOMETABELA'. Scan count 1, logical reads – Análise de queries

Que tal analisar esse execution Plan?

dm_db_index_usage_stats – Essa dmv informa quantas vezes um índice foi utilizado desde quando o SQL Server foi reiniciado. Obs.: A query está nas anotações do Slide BUG no SQL 2012 e 2014 (reinicia com REBUILD): indexes-still-broken/ O que faço com ela? Roda nas maiores tabelas para validar se os índices existentes estão realmente sendo utilizados Se não tiverem, monitora por um mês no mínimo para excluir Rotina pronta para guardar um histórico dessa informação: utilizacao-de-indices/ utilizacao-de-indices/ Além de índices não utilizados, também fique de olho em índices duplicados! DMVs de índices - Utilização de Índices

Relatório Final de Consultoria Documentação: Coloque muitos prints das rotinas que você implementou Explique as melhorias. Não deixe passar nada Inclua todas as queries que melhorou Mostre o ANTES e o DEPOIS do “SET STATISTICS IO ON” em Vermelho, Negrito e com fonte maior Consumo Antes: Table 'NOMETABELA'. Scan count 1, logical reads Consumo Depois: Table 'NOMETABELA'. Scan count 1, logical reads 1153

Relatório Final de Consultoria ANTES DEPOIS 80% de Redução das queries que demoram mais de 3 segundos

Final da Consultoria Cliente Feliz Consultor Feliz Fazendo um trabalho bom em um cliente, você ganha esse cliente para sempre!!! Seu melhor marketing é um cliente satisfeito indicando seus serviços para novos clientes do networking dele

Entendemos como o ambiente funciona Criamos um monitoramento de queries lentas Criamos um job de Atual Estatísticas e Desfrag. de Índices Melhoramos as queries que mais demoram Evidenciamos as melhorias alcançadas Resumo do passo a passo para a consultoria de Tuning

Conclusão Em alguns momentos você vai precisar de outras técnicas mais avançadas de Tuning, mas com esse passo a passo, você já consegue resolver muitos casos de lentidão Vai aprender um pouco mais a cada Tuning (Muito legal isso!) Se você quer trabalhar com consultoria, Tuning é a parte do SQL que você precisa aprender bem

Referências Estatísticas: (Livro gratuito) Índices: PAGE Split: Execution Plan: Livro: Livro Grátis: 2?utm_term=executionplans&utm_content=buffer4a0ec&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer SQL Server Performance Tuning Using Wait Statistics: A Beginner’s Guide: Estatísticas: (Livro gratuito) de-dados/ Índices: transaction-log-edition.aspx Livro: PAGE Split: happens-why-does-it-happen-why-worry.aspx Execution Plan: Livro Grátis: 2?utm_term=executionplans&utm_content=buffer4a0ec&utm_medium=social&utm_source=twitt er.com&utm_campaign=buffer WAITS STATS: what-do-they-mean.aspx SQL Server Performance Tuning Using Wait Statistics: A Beginner’s Guide: Download White Paper WaitStats: CCQQFjAB&url=http%3A%2F%2Fdownload.microsoft.com%2Fdownload%2F4%2F7%2Fa%2F4 7a548b9-249e-484c-abd7-29f31282b04d%2FPerformance_Tuning_Waits_Queues.doc&ei=L- zEVM3uPPaHsQT75oBg&usg=AFQjCNFRIebSlMLnry8gH99CQklhdmokJw&sig2=KjKuBRKVN WjcUv9Q8PG7uQ&bvm=bv ,d.cWc

Dicas de Materiais Grátis  Livros:     dba?utm_source=simpletalk&utm_medium=weblink&utm_content=st_bradbook200907&utm_campaign=sqlbac kupbundle&__hstc= bdbc59f5f888a85d2c87a85f9b4a38d &__hssc= &__hsfp=   Vídeo Aulas:     Whitepaper SQL   Blogs         

Para quem é do Rio de Janeiro    SQL Server Discovery Day  25 de junho de 2016, das 08:30 às 19:00  tickets tickets

Contatos br.linkedin.com/in/FabricioLimaSolucoesEmBD fabriciolima.net

OBRIGADO PESSOAL!!!