Articles

SQL Server Database Performance Tuning

Posted on

Você é um programador, DBA, ou administrador de sistema preso com consultas de longa duração no SQL Server, e precisa de fazer o ajustamento do desempenho do SQL Server. Vamos ensinar-lhe a afinação de SQL numa série de tutoriais fáceis e gratuitos:

  1. Medir a rapidez com que o servidor vai agora.
  2. li>Desempenho afinar as consultas.li>Desempenho afinar os índices.li>Desempenho afinar as definições do SQL Server.li>Desempenho afinar o hardware.

  3. Finalmente, se tiver de comprar novos servidores, obtenha uma lista de verificação das melhores práticas de configuração, e carregue o teste antes de entrar em funcionamento.

Vamos entrar nos detalhes de cada passo.

Medir o desempenho do SQL Server

Quando os utilizadores se dirigem a si e dizem que as suas consultas são lentas, não quer apenas acreditar na sua palavra: quer saber exactamente quais são as consultas lentas, e porquê. Vamos começar por

  • sp_BlitzFirst® – esta ferramenta gratuita é como o velocímetro do SQL Server. Mostra-lhe a velocidade do SQL Server, e quais os tipos de espera que o impedem de ir mais depressa.
  • SQL Server Perfmon Tutorial – como configurar o Perfmon, que contadores do SQL Server Perfmon a seguir, e o que significam os indicadores.
  • Watch Brent Tune Servers – no Microsoft Ignite 2015, ele levou várias cargas de trabalho do SQL Server, encontrou o gargalo de engarrafamento, e depois afinou várias definições para correcções rápidas.

Então, antes de começar a alterar as coisas, pergunte que partes do servidor está autorizado a alterar. O Manager’s Guide to Tuning SQL Server dá-lhe uma lista de verificação simples das partes que pode afinar, alterar ou substituir completamente.

Como optimizar as consultas SQL

Se tiver uma aplicação interna, e tiver autorização para fazer a optimização das consultas, eis algumas formas de encontrar as consultas de longa duração no SQL Server, e depois como aumentar o seu desempenho. Primeiro, precisamos de encontrar quais as consultas a optimizar, e aqui estão as ferramentas de afinação do desempenho da consulta que utilizo:

  • Para encontrar as suas consultas de longa duração em geral, utilize o script gratuito sp_BlitzCache. Não tem de instalar nada antes do tempo, e funciona em todas as versões suportadas do SQL Server a partir de 2008. (Até funciona na nuvem.)
  • li>Para encontrar as suas consultas de longa duração neste momento, execute sp_BlitzWho. Mostra consultas do mais longo para o mais curto, e dá-lhe os seus planos de execução.

Vai notar que eu não disse para apanhar as consultas lentas com SQL Profiler. O Profiler não é um bom monitor de desempenho do SQL Server: na verdade, faz com que todas as consultas corram mais devagar. Está muito melhor usando a cache do plano como mostrado acima.

Após ter encontrado as consultas SQL caras que precisa de afinar, aqui estão as minhas dicas favoritas de afinação de desempenho:

  • Watch Brent Tune Queries – alguma vez se perguntou como é que outra pessoa o faz? Peer over Brent’s shoulder in this free SQL Server tutorial.
  • 7 Things Developers Should Know About SQL – including why why functions rarely perform well, why WITH NOLOCK does not mean there’s no locking, and more.
  • How to measure performance improvements – Kendra explica como utilizar as estatísticas do SSMS.
  • Como ler planos de execução de consultas e afiná-los para os tornar mais rápidos.

Como fazer o ajuste do desempenho do índice

Se não lhe for permitido optimizar as consultas SQL, mas ainda precisa de as acelerar, então poderá ter de desenhar índices não incluídos e cobrir índices. Isto pode aumentar o desempenho de uma consulta SQL sem

querer tornar as estruturas da base de dados mais eficientes para que o SQL Server funcione menos, aqui estão os nossos recursos:

  • sp_BlitzIndex® – execute isto na sua base de dados para uma verificação de sanidade gratuita. Mostra índices em falta, índices não utilizados, duplicados, pilhas, e mais, e explica porque estão a matar o seu desempenho.
  • Recursos de indexação – os nossos posts e vídeos favoritos no blogue sobre afinação de índices.
  • SQL Server Book Recommendations – ok, os livros não são gratuitos, mas as nossas recomendações são. Escolhemos os melhores livros de afinação de iniciantes, avançados e de desempenho.
  • Particionamento de tabelas – esta característica parece ser uma óptima forma de dividir grandes tabelas, mas vem com algumas grandes gotchas.
  • Como afinar índices – e fazer com que as consultas do SQL Server sejam mais rápidas.

Performance Tune SQL Server’s Settings

Surprendentemente, muitas das configurações padrão do SQL Server podem levar a um mau desempenho. Vamos falar sobre o que precisa de fazer:

  1. Executar sp_Blitz® no servidor. É uma verificação de saúde gratuita que apanha muitos gargalos de desempenho comuns.
  2. Verifica a nossa lista de verificação da configuração do SQL Server – algumas simples afinações de configuração podem levar a aumentos de desempenho de 20-30% desde o início sem gastar qualquer dinheiro extra.
  3. Reveja a lista de verificação do mau desempenho – as 5 coisas de Jeremiah que corrigem o mau desempenho do SQL Server.
  4. Guia do Sysadmin para a Memória do SQL Server – porque é que o sqlserver.exe não usa muita memória? Como pode saber se precisa de mais?

Performance Tune the Hardware

Hey, por vezes, atirar-lhe hardware é a solução mais rápida, fácil e barata.

  • Qual é o Menor Servidor SQL que se deve construir? – Brent explica porque é que 96GB de RAM não é assim tanto – especialmente quando se compara com os custos de licenciamento do SQL Server.
  • SSD RAID Load Testing Results – Exactamente quão rápido são os SSDs de consumo de prateleira, especialmente quando os colocamos atrás de um controlador RAID?
  • Armazenamento Partilhado para SQL Server – fazemos muitas afinações SAN, e reunimos os nossos recursos favoritos.
  • Melhores Práticas de Virtualização – licenciamento, recuperabilidade, e configurações de desempenho.
  • Virtualização, SANs, e Hardware para SQL Server – uma aula online de 7 horas ensinando como configurar e afinar as coisas.

Building and Load Testing New SQL Servers

Quando estiver a planear o tamanho de um servidor a construir, comece com o vídeo do Brent do Microsoft TechEd 2012, Building the Fastest SQL Servers. Ele explica os dois padrões de acesso comuns para bases de dados (OLTP e data warehousing) e dá-lhe recursos sobre que hardware escolher para cada um.

Para data warehouses, vá à página de aterragem Fast Track da Microsoft, mas ANTES DE CLICAR, esta página tem muitas coisas de marketing, e precisa de saber o que procura. Concentre-se nas Configurações de Referência e nos Guias de Configuração. Existem alguns neutros da Microsoft, e depois há guias específicos de fornecedores da Dell, HP, IBM, etc. Poderá ter de percorrer todo o caminho até ao fundo para ver o material específico do fornecedor.

Após o servidor estar construído, aqui estão os nossos recursos favoritos para testes de carga e configuração:

  • Quão rápido é o seu armazenamento? – Eu mostro-lhe como utilizar a ferramenta gratuita CrystalDiskMark para fazer um teste de carga rápida em unidades de estado sólido e SANs.
  • Como testar o desempenho SAN com SQLIO – SQLIO é provavelmente a pior ferramenta na história: não tem nada a ver com bases de dados. No entanto, ainda é muito útil para testar estrangulamentos.

Need SQL Server consulting?Somos consultores de ajuste de desempenho.

Somos especializados em tornar o Microsoft SQL Server rápido e fiável.

Os nossos clientes são diversos: sites dot-com, fundos de cobertura, hospitais, fornecedores de software, e até pequenas lojas de 1-2 pessoas. Todos têm uma coisa em comum: estão frustrados com os seus Servidores SQL, e precisam de respostas rápidas e económicas.

Provavelmente já nos viram presentes em conferências em todo o mundo, e podem até ter aprendido alguma coisa. Vai adorar as nossas aulas de formação presencial e os nossos vídeos de formação.

Quer uma ajuda mais rápida e personalizada? Oferecemos um check-up de saúde e desempenho do SQL Server que chega rapidamente à causa raiz dos problemas e lhe mostra como resolvê-los. Contacte-nos agora para saber mais.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *