Problemas de desempenho de banco de dados não são incomuns. Felizmente, geralmente há uma solução bastante intuitiva para a maioria dos problemas. A coisa mais importante que um DBA pode fazer para corrigir problemas rapidamente e melhorar o desempenho do SQL Server é garantir que sua estratégia de monitoramento de desempenho esteja atualizada e alinhada com suas necessidades de monitoramento de banco de dados. Se não for, é hora de agir.
O primeiro passo para melhorar o monitoramento do banco de dados é avaliar sua situação atual. Você não saberá onde está faltando seu monitoramento ou se o monitoramento está melhorando algum dos seus problemas de desempenho se não fizer uma medição de linha de base do seu ponto de partida.
Para definir sua linha de base de desempenho, você precisará avaliar a integridade dos bancos de dados do SQL Server fazendo algumas perguntas a si mesmo:
As consultas são otimizadas? Consultas com baixo desempenho são uma maneira segura de diminuir o desempenho. Existem muitos truques que você pode tentar para limpar suas consultas, mas sua melhor opção é implementar um otimizador de consultas que analisará e reescreverá suas consultas até encontrar uma que seja mais rápida.
Os índices estão em boas condições? A indexação feita corretamente deve acelerar a recuperação de dados. No entanto, existem alguns problemas comuns que podem diminuir o desempenho, incluindo configurações ineficientes de fator de preenchimento e divisões de página. A melhor maneira de evitar esses problemas de desempenho é não definir um valor de fator de preenchimento para todo o sistema e observar as necessidades de cada índice individualmente.
Há muitos dados fragmentados? Dados fragmentados afetam o desempenho colocando muito espaço em branco em uma página ou fazendo com que as páginas sejam adicionadas. O servidor precisa verificar e procurar os dados fragmentados, o que faz com que o banco de dados seja executado lentamente. A execução de Reconstruir ou Reorganizar pode limpar a fragmentação.
Algo está consumindo CPU? Os bancos de dados ficam mais lentos quando a CPU está sob pressão de vários recursos. Avalie a carga da CPU e decida se o problema é que você precisa adicionar mais CPU ou se há recursos ineficientes usando mais CPU do que deveriam.
Depois de ter um instantâneo da linha de partida, você terá uma ideia melhor dos tipos de melhorias de monitoramento em que precisa se concentrar. Aqui estão cinco maneiras de melhorar o monitoramento do banco de dados do SQL Server.
1. Avalie seus intervalos de monitoramento e limpe os dados com a maior frequência possível
As ferramentas de monitoramento de desempenho oferecem infinitas opções para quais métricas monitorar, quando extrair dados e por quanto tempo manter os dados. Se você estiver monitorando várias instâncias, a quantidade de dados que você está coletando é potencialmente impressionante (e caro para armazenar).
Para manter seus dados em um nível gerenciável, não colete dados com mais frequência do que o necessário e mantenha os dados por tempo suficiente para detectar tendências. Depois de gravar qualquer coisa de interesse, arquive ou elimine os dados.
2. Verifique se suas consultas estão funcionando com eficiência
Há muitos lugares para ocultar problemas de desempenho no SQL Server. Como os aplicativos de banco de dados executam consultas SQL com frequência, avaliar o estado de suas consultas é um ótimo lugar para começar a eliminar problemas.
Por exemplo, monitorar o desempenho das consultas ao longo do tempo ajudará a isolar as que estiverem usando mais recursos do que o normal. Depois de identificar as consultas problemáticas, você pode executar cada consulta para determinar a origem específica do problema e corrigi-la.
3. Revise os contadores e configurações do Perfmon
O SQL Server Performance Monitor (Perfmon) é uma ferramenta valiosa que ajuda os DBAs a isolar os pontos fracos em seus bancos de dados SQL Server. O Perfmon permite que você configure contadores de desempenho para cada um de seus servidores para identificar gargalos de CPU, desempenho de disco, problemas de memória e muito mais.
Este artigo de Brent Ozar explica como começar a usar o Perfmon e descreve algumas práticas recomendadas.
4. Configure seus alertas com base na gravidade
Embora existam muitas configurações de alerta disponíveis, é melhor ser seletivo ao configurar alertas para não sucumbir à fadiga do alerta. Uma boa regra geral é configurar alertas para problemas de Gravidade 17 ou superior e para mensagens de erro 823, 824 e 825 — em outras palavras, aqueles problemas que podem resultar em seus servidores ficarem offline, corrupção grave de dados ou perda de dados.
5. Aproveite todos os recursos de gerenciamento de alarme que sua ferramenta de monitoramento de desempenho do SQL Server oferece
As soluções de monitoramento do SQL Server oferecem uma ampla variedade de recursos de gerenciamento. Reserve um tempo para conhecer os recursos da sua ferramenta e ter certeza de que está obtendo o maior valor pelo seu investimento.
Alguns recursos para procurar que o ajudarão a melhorar seu processo de monitoramento de desempenho são:
Regras: Permite personalizar quais alarmes são acionados e quando
Diagnóstico: Informa que há um problema e oferece possíveis correções
Priorização de problemas: Concentra sua atenção nos problemas de maior gravidade primeiro
Alertas móveis: Permite acessar, avaliar e iniciar a triagem de alarmes de qualquer lugar a qualquer momento
Redução de ruído: Ajuda a evitar a fadiga do alarme recebendo apenas as notificações de que você precisa