Quais contadores de desempenho você pode ver em uma instância do SQL Server para determinar seu desempenho e a integridade?

10

Sou estudante da Universidade Fontys em Eindhoven e atualmente estou realizando uma série de entrevistas para ajudar no desenvolvimento de uma ferramenta do SQL Server e gostaria de receber feedback dos especialistas da área.

Uma das minhas perguntas é:

Quais contadores de desempenho você pode ver em uma instância do SQL Server para determinar seu desempenho e integridade geral?

Particularmente, estou interessado nos valores-limite quando o bem se torna ruim.

Jamil Young Eindhoven Países Baixos

Jamil
fonte

Respostas:

15

Aqui está o meu tutorial do Perfmon para SQL Server: http://www.brentozar.com/archive/2006/12/dba-101-using-perfmon-for-sql-performance-tuning/

Para mais contadores e limites, aqui está um cartaz que fizemos quando eu estava na Quest: http://www.quest.com/documents/landing.aspx?id=11635

Brent Ozar
fonte
esse é um PDF maravilhoso da quest. Definitivamente um goleiro. Eles devem fazer um para DMVs também.
precisa saber é o seguinte
Na verdade, nós fizemos! Eles geralmente são distribuídos em reuniões de grupos de usuários e em conferências.
Brent Ozar
6

Este é um tópico importante, com bastante material disponível no Google. Como ponto de partida, esses são os contadores que tendem a examinar primeiro:

Processador -% de tempo do processador

Sistema - Comprimento da fila do processador

Você provavelmente obterá um valor-alvo diferente para o uso da CPU em cada DBA solicitado. As licenças do SQL Server são caras, portanto, por um lado, você deseja maximizar o uso de CPUs e, por outro lado, não deseja comprometer a disponibilidade. Em um mundo ideal com cargas de trabalho bem compreendidas, você pode segmentar 70% de uso, avisar de 80 a 90%, alertar com mais de 90%. De volta ao mundo real, com uma carga de trabalho que atinge picos e vales, você pode se sentir mais confortável ao atingir 50-60% da média.

Memória - MBytes disponíveis

Arquivo de paginação -% de uso

Com um SQL Server dedicado, dependendo da RAM instalada, menos de 100-200mb de memória disponível pode indicar falta de alimentação e risco de paginação do SO. Em geral, não queremos ver muita atividade do arquivo de paginação, então eu estaria investigando se% de uso era maior que 2% e preocupado se atingisse 5%

Buffer Manager - Taxa de acertos do cache do buffer

Buffer Manager - Expectativa de vida da página

Ambos os contadores são melhor considerados em uma linha de base estabelecida para um servidor. Idealmente, gostaríamos da taxa de acertos do cache o mais próximo possível de 100% e de um PLE em milhares de segundos. Preste atenção quando eles se afastarem das médias históricas.

Estatísticas SQL - Solicitações em lote / s

Estatísticas SQL - Compilações / s

Estatísticas SQL - Recompilações / s

Pedidos / s é uma ótima medida relativa de quão "ocupado" um servidor está. Valores altos de compilação / recompilação podem indicar que os ciclos da CPU estão sendo desperdiçados na compilação de consultas.

Disco físico - média Disco seg / Leitura

Disco físico - média Disco seg / Gravação

Disco físico - leituras de disco / s

Disco físico - gravações de disco / s

Uma diretriz aproximada para um sistema IO configurado corretamente é <5ms (idealmente 1ms) para unidades de log, <20ms (idealmente <10ms) para dados. As leituras / gravações por segundo devem ser consideradas em relação ao limite conhecido para a (s) unidade (s).

Mark Storey-Smith
fonte
Existe algo nesse nível para monitorar o impasse e aguarda?
bernd_k
'Bloqueios - Número de bloqueios / s' para bloqueios. Para esperas, existem vários contadores na categoria 'Estatísticas de espera'.
Mark Storey-Smith