Tuning - Ajuste de desempenho
Seu SQL Server está muito lento? Sempre ou ocasionalmente?
Exemplos de lentidão do SQL Server:
- Você tem um site, preenche um formulário de “Pesquisa”, clique em “Pesquisar” e demora muito para retornar o resultado da pesquisa.
- Você tem um aplicativo e ele demora muito para responder.
- Você tem um SQL Server e, quando olha para o Monitor de desempenho, ele mostra a CPU em 100%.
-
Os relatórios demoram muito para serem processados ou nunca terminam.
-
O T-SQL é executado rapidamente com um conjunto de parâmetros, mas com outros é lento ou nunca é concluído.
Na maioria das vezes, o que ouvimos é "isso era rápido (ou OK) antes, e agora está muito lento".
SQL Server lento aparece de algumas maneiras:
- O SQL era rápido antes e, gradualmente, tornou-se mais lento.
- O SQL sempre foi lento (ou nunca termina).
- O SQL era bom antes, mas depois de uma mudança (muitas vezes aparentemente não relacionada), o SQL Server agora está lento.
Razões pelas quais o SQL Server fica lento:
Pode haver muitos motivos. Aqui estão alguns que recebemos com mais frequência:
- Falta de uma boa manutenção do SQL Server. Isso afeta backups, manutenção de índices e estatísticas, etc.
- Falta das melhores práticas de configuração de servidor. Você precisa de configurações ajustadas em vários lugares, Windows, Segurança, Política de Grupo, Active Directory, Configurações de Instância, configurações de banco de dados.
- Arquitetura defeituosa. Um bom exemplo é o banco de dados que é configurado com apenas um arquivo de dados.
- Indexação ruim. Falta de índices, muitos índices, índices em colunas erradas, índices duplicados, índices que podem ser mesclados, avisos de índice ausentes, índices com um custo alto, mas não fornecem nenhuma ajuda.
- Mudança no tamanho dos dados. Os dados cresceram com o tempo e agora o SQL Server está processando milhões ou bilhões de linhas, em vez de alguns milhares, como foi projetado inicialmente.
- Consultas ruins. As consultas antigas ficam lentas ou as novas usam todo o recurso computacional do SQL Server disponível, deixando outras consultas sem recursos.
- Projeto de banco de dados ruim. Um bom exemplo é que o banco de dados possui um único arquivo de dados. E muitos outros.
- Implementação de código. Após a implantação do código, as coisas começaram a ficar lentas.
- Mudança na infraestrutura. Este você pode conhecer ou não. Um bom exemplo seria o armazenamento ou mudanças na rede. Isso geralmente torna todas as consultas mais lentas.
- Hardware com falha. Certos tipos de falhas de hardware, como armazenamento ou rede, não interromperão o SQL Server, mas farão com que ele tente novamente a mesma operação algumas vezes, por exemplo: raid defeituoso, memória ram com falhas.