Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Você está medindo o desempenho do SQL Server com essas métricas?


O desempenho do aplicativo e do sistema desempenha um papel importante na forma como o usuário percebe o valor do seu produto e a competência da sua empresa. Se a mesma página expirar constantemente ou demorar uma eternidade para acessar um relatório crítico, o desempenho do seu sistema de banco de dados criará um problema de confiança para sua organização.

Alta disponibilidade e desempenho confiável são essenciais para manter os clientes e usuários internos do sistema satisfeitos e podem até afetar seus resultados. Com esses objetivos em mente, é essencial implementar uma estratégia abrangente de monitoramento de desempenho do SQL Server.


Benefícios do monitoramento de desempenho do SQL Server


O benefício mais comumente elogiado do monitoramento de desempenho é a facilidade de solução de problemas. Uma ferramenta de monitoramento do SQL Server bem configurada é o meio mais eficiente de localizar e corrigir problemas de servidor e banco de dados rapidamente antes que eles afetem os usuários finais ou se tornem problemas grandes e caros.

Além de manter a integridade do sistema, a implementação do monitoramento de desempenho do SQL Server pode ajudar a manter os custos de infraestrutura baixos. Um exemplo são as despesas de armazenamento desnecessárias. Quando o desempenho do SQL Server é otimizado, o crescimento do tamanho do arquivo é monitorado continuamente. Um aumento excessivo no tamanho do arquivo aciona um alerta para que o problema possa ser resolvido antes que o espaço em disco se esgote e recursos adicionais sejam lançados no problema.

E se você optar por uma solução de monitoramento baseada em nuvem, poderá aumentar ainda mais o ROI ao dizer adeus às despesas de alojamento e manutenção de servidores físicos.

Acompanhe essas métricas para melhorar o desempenho do seu SQL Server


Sabemos que o monitoramento de desempenho do SQL Server é uma ótima estratégia para corrigir problemas e economizar dinheiro, mas você não obterá todos os benefícios de sua ferramenta de monitoramento do SQL Server a menos que acompanhe as métricas corretas. Para obter o desempenho ideal do SQL Server, aqui estão cinco áreas que você deseja observar e as métricas mais importantes a serem acompanhadas de cada uma.


1. Cache de buffer


O cache de buffer armazena cópias de páginas de banco de dados usadas recentemente. O SQL Server procura primeiro no cache, mas se não encontrar o que está procurando, ele vai para o disco. A leitura do disco é lenta, o que pode afetar negativamente o desempenho.

Taxa de acertos de cache


A taxa de acertos do cache mostra a frequência com que o SQL Server acessa as páginas do cache. Valores mais altos indicam que as páginas foram acessadas da memória e não do disco. Se você estiver vendo consistentemente uma baixa taxa de acertos de cache, verifique se há um afunilamento na memória do sistema.

Expectativa de vida da página


O monitoramento da expectativa de vida da página mostra quanto tempo uma página permanece na memória em vez de ir para o disco. Quanto maior a expectativa de vida da página, melhor a taxa de acertos do cache.

Páginas de ponto de verificação/seg


O SQL Server configura pontos de verificação para liberar espaço no cache do buffer liberando periodicamente as páginas modificadas do buffer para o disco. O número de páginas liberadas depende das definições de configuração e do uso do servidor, por isso é importante definir uma linha de base para comparação. Se você notar um aumento nas páginas sendo liberadas, você pode ter um problema de E/S.


2. Índices


Os índices de banco de dados ajudam a acelerar as operações em tabelas com muitos registros. Embora os índices sejam uma ferramenta útil para melhorar algumas funções do banco de dados, há problemas inerentes aos índices que podem prejudicar o desempenho se não forem detectados rapidamente.

Fragmentação


A fragmentação do índice ocorre quando os registros são adicionados e excluídos. Com o tempo, essas alterações causam problemas de desempenho, deixando muito espaço em branco em muitas páginas e adicionando novas páginas fora de ordem. Isso pode retardar as verificações e usar memória excessiva.

O monitoramento da fragmentação do índice informará quando você precisar executar Reconstruir ou Reorganizar em um índice para corrigir a fragmentação e melhorar o desempenho.

Fator de preenchimento e divisões de página


A configuração do fator de preenchimento permite que seus índices saibam o quanto cada página deve estar cheia. Se uma página estiver muito cheia, ocorrerão divisões de página; se uma página não estiver cheia o suficiente, você está desperdiçando recursos.

O rastreamento de divisões de página pode ajudar a identificar quando um ajuste do fator de preenchimento é necessário. Para obter o melhor desempenho, não defina um valor de fator de preenchimento para todo o sistema. Avalie índices individuais e defina o fator de preenchimento em um nível apropriado para cada um.


3. T-SQL


Para otimizar o desempenho, o SQL Server agrupa instruções SQL, depois as compila em planos de execução e as armazena em cache para reutilização. Se o SQL Server não puder reutilizar o plano de execução, o plano será recompilado, o que usa muita CPU e degrada o desempenho. Portanto, é melhor manter o número de recompilações de instruções SQL o mais baixo possível.

O monitoramento das taxas de compilação e recompilação SQL mostrará se você precisa reconfigurar algumas áreas, como procedimentos armazenados e parâmetros de consulta.


4. Bloqueio


O bloqueio do SQL Server é causado por vários clientes e processos que solicitam acesso aos mesmos recursos ao mesmo tempo. Se um recurso já estiver sendo usado, o acesso será bloqueado e o recurso ficará indisponível para solicitações subsequentes. Isso coloca o processo em espera até que o recurso seja liberado e disponível novamente.

Aguardas de bloqueio


Normalmente, as solicitações não precisam esperar bloqueios, portanto, essa métrica deve ficar em torno de zero. Um aumento nas esperas de bloqueio indica um problema com o tempo de carregamento, portanto, você precisará rastrear a causa raiz do problema.

Processos bloqueados


O rastreamento de processos bloqueados é uma boa maneira de evitar muitos e-mails informando sobre um processo bloqueado. Use o SQL Server Profiler para capturar dados sobre processos bloqueados e revisar o relatório regularmente.


5. Uso de recursos


O rastreamento de métricas de uso de recursos é uma maneira eficaz não apenas de identificar problemas de desempenho, mas também de ajudar no planejamento de capacidade.

Contagens de linhas


O monitoramento de contagens de linhas fornece informações diretas e facilmente rastreáveis ​​sobre o volume de dados associados a uma determinada tabela ao longo do tempo. Um aumento ou diminuição inesperado na contagem de linhas deve levar a uma investigação sobre a causa.

E/S de arquivo de banco de dados


Ao medir as métricas de E/S em relação aos arquivos de banco de dados, você pode rastrear quantos dados estão sendo gravados e lidos por qualquer arquivo de dados. Se você observar um possível problema, essa métrica pode ajudar a diminuir a causa raiz. O rastreamento de E/S de arquivo de banco de dados também ajuda no planejamento de infraestrutura, pois pode ajudar a prever a taxa de transferência de dados futura e ajustar os recursos de acordo.

Tamanho do backup do log de transações


Quando um servidor falha devido à sobrecarga, o SQL Server usa os registros de log do banco de dados armazenados em arquivos de log virtual (VLFs) para recuperação. É importante monitorar quantos VLFs estão no log de transações, porque muitos podem retardar os processos de recuperação ao restaurar após uma interrupção.

O monitoramento de desempenho do SQL Server é um componente crucial da estratégia de controle de qualidade de uma organização. O rastreamento de algumas métricas-chave de desempenho pode dar a você a reputação de fornecer a seus usuários um sistema no qual eles podem confiar e confiar; não fazer isso pode tornar seu sistema apenas mais um aplicativo com bugs que os usuários temem.