2010-06-08 22 views
5

Me han pedido que supervise SQL Server (2005 & 2008) y me pregunto cuáles son las buenas métricas que hay que observar. Puedo acceder a los contadores de WMI, pero estoy un poco perdido en cuanto a la profundidad que va a ser útil.Qué supervisar en SQL Server

Actualmente tengo en mi lista:

  • conexiones de usuario
  • inicios de sesión por segundo
  • esperas de pestillos por segundo tiempo total de espera de pestillos
  • cerraduras muertas por segundo
  • errores por segundo
  • Tamaño de archivo de datos y registro

Estoy buscando poder monitorear los valores que indicarán una degradación del rendimiento en la máquina o un posible problema grave. Con este fin, también me pregunto ¿qué valores se considerarían normales frente a problemáticos?

Como supongo que probablemente sería una muy buena pregunta que ha respondido a la comunidad en general que pensé enamoro algunos de ustedes expertos DBA por ahí (Desde luego, no soy uno de ellos!)

Disculpas si es una pregunta bastante abierta. Ry

+0

Todo se reduce a lo que necesita de este seguimiento. –

+2

Este artículo es un poco viejo, pero podría tener algunas buenas sugerencias http://www.sql-server-performance.com/articles/per/10_baselining_tips_p1.aspx –

+0

Una indicación de que una caja está en problemas es lo que estoy buscando. Darse cuenta de que es realmente vago, pero idealmente me gustaría organizar los artículos monitoreados en 3 categorías, decir 'FYI', 'Advertencia' y 'Crítico' – rjshuttleworth

Respuesta

1

Uso de SQL para identificar su Top 10 (o más) consultas. Cree un rendimiento de referencia para estas consultas. Revise los tiempos de ejecución promedio actuales con respecto a su línea base, y manténgase alerta si está significativamente por encima de su línea base. También puede usar esta lista para identificar consultas para una posible optimización.

Esto ataca el problema a un nivel más alto que simplemente revisar estadísticas detalladas, aunque esas estadísticas también pueden ser útiles. He encontrado que este enfoque funciona en cualquier DBMS, incluidos MySQL y Oracle. Si los tiempos de consulta principales comienzan a aumentar, puede apostar que está empezando a encontrarse con problemas de rendimiento, que luego puede comenzar a profundizar en más detalles.

1

Si el presupuesto lo permite, vale la pena mirar algunas herramientas de terceros para ayudar. Utilizamos Idera's SQL Diagnostic Manager para supervisar el estado del servidor y Confio's Ignite para controlar el rendimiento de las consultas. Ambos productos nos han servido bien en nuestra tienda.

1

El porcentaje de utilización de CPU y las longitudes de cola promedio del disco también son bastante estándar. Las CPU consistentemente más del 80% indica que puede necesitar más o mejores CPU (y servidores para alojarlas); Consistentemente más de 2 en cualquier cola de disco indica que tiene un cuello de botella de E/S de disco en esa unidad.

0

Debe controlar el total de páginas asignadas a un proceso en particular. Puede obtener esa información de consultar las bases de datos del sistema.

sys.dm_exec_sessions s 
    LEFT JOIN sys.dm_exec_connections c 
     ON s.session_id = c.session_id 
    LEFT JOIN sys.dm_db_task_space_usage tsu 
     ON tsu.session_id = s.session_id 
    LEFT JOIN sys.dm_os_tasks t 
     ON t.session_id = tsu.session_id 
     AND t.request_id = tsu.request_id 
    LEFT JOIN sys.dm_exec_requests r 
     ON r.session_id = tsu.session_id 
     AND r.request_id = tsu.request_id 
    OUTER APPLY sys.dm_exec_sql_text(r.sql_handle) TSQL 

El siguiente post explica muy bien cómo puede utilizarlo para supervisar su servidor cuando nada funciona http://tsqltips.blogspot.com/2012/06/monitor-current-sql-server-processes.html

+0

También utilizamos el análisis Quest DB Performance que da una muy buena imagen visual de lo que va en el servidor. Una de las cosas malas de eso es que dice quién es la víctima, pero es difícil saber quién está consumiendo los recursos. – dhi

0

Además de las métricas de rendimiento sugeridas anteriormente, recomiendo fuertemente el seguimiento de memoria disponible, solicitudes de lotes/seg, Compilaciones SQL/seg. Y recompilaciones SQL/seg. Todos están disponibles en la vista sys.dm_os_performance_counters y en Windows Performance Monitor.

En cuanto a

idealmente me gustaría organizar los elementos monitorizados en 3 categorías, decir 'FYI', 'Advertencia' & 'crítico'

Hay muchas herramientas de seguimiento de terceros que le permiten crear alertas de diferente nivel de gravedad, por lo que una vez que determine qué monitorear y cuáles son los valores recomendados para su entorno, puede establecer alertas bajas, medias y altas.

Consulte el artículo de Brent Ozar sobre las métricas no tan útiles here.

5

respuesta tardía pero puede ser de interés para otros lectores

Uno de mis colegas tenía el mismo problema, y ​​utiliza este hilo para ayudar a hacer que lo inició. También se encontró con una publicación de blog que describía las causas comunes de los problemas de rendimiento y una instrucción sobre qué métricas deberían monitorearse, además de las ya mencionadas aquí. Estas otras métricas son:

•% de tiempo de disco:

Este contador indica un problema de disco, sino que deben ser observados en conjunción con el contador Longitud de la cola de disco actual para ser verdaderamente informativo. Recuerde también que el disco podría ser un cuello de botella antes de que% Disk Time alcance el 100%.

•% de lectura de disco El tiempo y el% de tiempo de escritura en disco:

El% de lectura de disco Tiempo y% métricas de escritura de disco de tiempo son similares a% Tiempo de disco, al igual que muestra las operaciones leen o escriben en el disco, respectivamente . En realidad, son los valores de Duración de la cola de lectura del disco promedio y Longitud de la cola de escritura del disco promedio presentados en porcentajes.

•% de tiempo de inactividad:

Mide el porcentaje de tiempo que el disco estaba ocioso durante el intervalo de muestreo. Si este contador cae por debajo del 20 por ciento, el sistema de disco está saturado. Puede considerar reemplazar el sistema de disco actual con un sistema de disco más rápido.

•% de espacio libre:

mide el porcentaje de espacio libre en la unidad de disco lógico seleccionado. Tome nota si esto cae por debajo del 15 por ciento, ya que corre el riesgo de quedarse sin espacio libre para que el sistema operativo almacene archivos críticos. Una solución obvia aquí es agregar más espacio en el disco.

Si desea leer el post entero, puede encontrarlo aquí: http://www.sqlshack.com/sql-server-disk-performance-metrics-part-2-important-disk-performance-measures/