Saltear al contenido principal

Usando Performance Counters de SQL Server

Nada más útil que el Performance Monitor de Windows para hacer un seguimiento de aquello que sucede en el Sistema Operativo. El famoso y más conocido como Perfmon, es una de las herramientas de Windows más potentes para el monitoreo de rendimiento del servidor. Esa potencia también podemos aprovecharla con los Performance Counters de SQL Server.

¿Qué es Perfmon?

Si nunca lo has utilizado, verás que cuando lo hagas tienes una gran herramienta de monitoreo de tu lado.

La funcionalidad del Perfmon está vigente desde los Sistemas Operativos Windows NT 3.1, y en su evolución a sistemas más actuales ha incorporado diferentes indicadores de rendimiento de acuerdo a los sistemas que requieren ser evaluados.

¿Y funciona con SQL Server?

Sí, y lo hace de una manera espectacular. Puedes tener un control de cientos de indicadores, combinarlos y apoyar a tu análisis.

Recuerdo que hace algún tiempo atrás hice algunas integraciones con SQL Server Profiler para tener un reporte del consumo de recursos mientras se realizaban ejecuciones en el servidor. Aunque ya no es algo tan actual, te lo mostraré en algún momento.

¿Qué podemos mirar con el Perfmon?

Como te decía, son muchos los contadores que podemos observar. Particularmente a mi me gusta tener conciencia de 3 de ellos.

  • Batch Request/sec
  • SQL Compilations/sec
  • SQL Re-Compilations/sec

Todos ellos son parte del grupo SQLServer:SQL Statistics

Los adicionamos en los Counters del Perfmon y podemos verlos en una línea de tiempo.

performance-counters-de-sql-server

O en un formato de reporte cuyos valores van cambiando en vivo de acuerdo a lo que va sucediendo en el servidor.

a) Batch Requests/sec

Conocer cuántos Batch se ejecutan por segundo nos dará una idea perfecta de cuán ocupado se encuentra el servidor. Evidentemente este valor puede variar mucho a lo largo del día pero es importante que puedan generar una línea base para un análisis en el tiempo.

No existe un valor bueno o malo acá. El análisis lo harás con la línea base que mencionaba.

b) SQL Compilations/sec

Como lo dice su nombre, revisamos cuántas compilaciones se hace por segundo. Esto nos ayuda a determinar qué tan bien se está utilizando el Plan Cache ya que luego de cierto tiempo de tener el servidor iniciado, este valor debería disminuir mostrando así un aprovechamiento del caché.

c) SQL Re-Compilations/sec

Así como un plan se compila y se queda en caché, puede suceder diferentes cosas que fuercen la re-compilación. Esto indica que el primer plan que fue compilado ya no es válido y esto puede ser debido a un cambio de estructuras en objetos o variación en las estadísticas de las tablas. Nos puede ayudar a identificar si hay algún problema adicional.

Cómo nos ayudan los performance counters de SQL Server

Dependerá de cuáles elegimos y de qué necesitamos analizar. Como puedes ver existen muchísimos indicadores y cada uno de ellos te pueden ayudar a identificar algún problema particular.

Desde que hacemos pruebas hasta que controlamos un ambiente de Producción. Tenemos muchas opciones para mirar. Puedes ver algunas en la publicación Cómo hacer Testing en SQL Server, pero no olvides que cuando vamos a Producción podemos encontrar diferencias entre ambientes.

Es aquí donde necesitamos de creatividad para generar nuevos escenarios de análisis. Vamos a revisar estos y otros en nuestras próximas Webinars. No olvides suscribirte a las noticias en este enlace. para recibir las invitaciones.

Pablo Javier Fernández

www.datoptim.com
I love working on SQL Server Performance Tuning and finding the origin of the problems. Music and SQL Server passionate.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Close search

Carrito

Volver arriba