Monitoreo de desempeño de Sistema Operativo (SO)

Un monitoreo eficiente de SQL Server incluye el monitoreo de desempeño del sistema operativo, SQL Server y la base de datos. En Cómo monitorear sus instancias y bases de datos de SQL Server, presentamos herramientas para monitorear las últimas dos métricas. En este artículo presentaremos herramientas que proveen monitoreo de desempeño del sistema operativo.

El monitoreo de desempeño de todos los grupos mencionados arriba provee una figura completa de la salud del sistema e información vital necesaria para la resolución de problemas de desempeño y cuellos de botella. Las métricas de desempeño del Sistema Operativo están relacionadas al desempeño del disco, la memoria, el procesador y la red. Algunas de las métricas más importantes de desempeño del sistema son la memoria disponible, los bytes promedio por lectura/escritura, tiempo promedio de lectura/escritura, lecturas/escrituras de disco por segundo, utilización de red, entradas en páginas por segundo, páginas por segundo, tamaño de la cola del procesador y uso del procesador.

La elección de métricas que serán usadas para monitorear dependerá de las metas de monitoreo y los requerimientos de desempeño. Es importante que un DBA pueda mejorar el desempeño basado en los resultados del monitoreo, pero también reconocer problemas potenciales y cuellos de botella a tiempo, y solucionarlos antes de que afecten al sistema.

Windows Task Manager

Esta es una herramienta nativa de monitoreo de Windows que es útil para monitoreo y resolución de problemas básicos. Puede ser útil para determinar dónde está el cuello de botella: En el disco, el procesador, la memoria o la red. Más que eso, no provee suficiente información para determinar el problema exacto.

  1. Para abrirlo, presione Ctrl + Alt + Del y seleccione Task manager. Alternativamente, haga clic derecho en la Barra de Tareas y seleccione Task Manager del menú contextual.
  2. Seleccione la pestaña Performance
  3. En el panel izquierdo, seleccione el componente de hardware que desea monitorear: procesador, memoria, disco o adaptador de red.

    Windows Task Manager performance tab

Información adicional que puede ser útil para un análisis posterior es mostrada en otras pestañas de Task Manager de Windows y en Resource Monitor.

Dialog showing the Resource Monitor tab

Esta información puede sólo indicar las aplicaciones y procesos que están usando la mayor parte de los recursos de la computadora al momento. No hay historial o datos estadísticos para un análisis más profundo y resolución de problemas de problemas existentes o potenciales de desempeño. De todas maneras, la herramienta es útil, práctica, los usuarios de Windows están acostumbrados a ella y es excelente para matar procesos no deseados y que no responden.

Windows Performance Monitor

Windows Performance Monitor es una herramienta nativa de Windows. Aparte de métricas de desempeño del sistema, soporta un amplio rango de métricas de desempeño, incluyendo SQL Server, SQL Agent, bases de datos y muchas otras. Muestra métricas de desempeño en gráficos en tiempo real y permite seleccionar de forma personalizada las métricas que serán mostradas, definiendo valores de umbral de métricas, generación de reportes y datos históricos (los datos históricos están disponibles sólo por el periodo desde el último reinicio de la computadora).

  1. Para iniciar Windows Performance Monitor:
    • Haga clic en Start y vaya a Run. En Windows 8, presione Windows + C. Escriba perfmon y presione Enter.
    • Abra Windows Control Panel, vaya a System and Security, Administrative Tools y haga clic en Performance Monitor.
  2. Seleccione Monitoring tools, Performance Monitor en el panel izquierdo.
  3. Seleccione y configure las métricas de desempeño que desea monitorear. Para añadir una métrica:
    • Haga clic derecho en el gráfico y seleccione Add Counters en el menú contextual.
    • Presione Ctrl + N.
    • Haga clic en Add (el ícono verde de signo más) en el menú.
  4. En el diálogo Add Counters, seleccione la computadora.
  5. Expanda el grupo de métricas y seleccione las métricas que desea monitorear.

    Windows Performance Monitor - selecting the metrics you want to monitor

Note que algunas de las métricas pueden ser mostradas como un valor promedio. Por ejemplo, las métricas del procesador pueden ser mostradas como valores totales para todos los procesadores/núcleos disponibles en la máquina, pero también como valores individuales para cada procesador/núcleo.

Todas las métricas seleccionadas son monitoreadas en un solo gráfico. Dado que esto puede ser difícil de rastrear, usted puede deseleccionar la casilla Show para ocultar la métrica y obtener una figura más clara. Otro truco es remarcar (Ctrl + H) un gráfico específico.

Showing the counter values on a graph using Windows Performance Monitor

Aparte de los valores en el gráfico, Windows Performance Monitor también provee un reporte de texto y una presentación de un histograma de los datos. Provee la creación de Data Collector Sets que pueden ser usados para recolectar valores de métricas y mostrar datos históricos grabados en los registros.

Windows Performance Monitor es una herramienta fácil de usar con poca carga. Provee un rango amplio de contadores de desempeño, pero cuando un análisis más profundo es requerido, no puede proveer toda la información necesaria. Las alertas están limitadas y no proveen detalles útiles.

ApexSQL Monitor

ApexSQL Monitor es un software de monitoreo de desempeño de SQL Server que monitorea el desempeño del sistema, SQL Server y la base de datos. Almacena todos los datos recolectados en su propia base de datos repositorio. Provee alertas cuando un valor específico de métrica es alcanzado con detalles de la causa de la alerta, mantiene los datos históricos por un tiempo ilimitado y muestra aquellos datos en gráficos mientras que añade una carga extra mínima.

  1. Inicie ApexSQL Monitor
  2. Para añadir una instancia SQL Server para monitorear, haga clic en Add en el menú.

    The Add button in the ApexSQL Monitor menu

  3. En el siguiente diálogo, ingrese el nombre de la instancia de SQL Server, el tipo de autenticación y las credenciales si es necesario.

    ApexSQL Performance monitor - entering the SQL Server instance name, authentication type, and credentials

    Las instancias locales de SQL Server son automáticamente detectadas y listadas en la lista del menú desplegable Server. Para ingresar una instancia que no está en la lista o una instancia remota de SQL Server, escriba su nombre en el campo Server.

    Por defecto, la casilla Enable all metrics está seleccionada y todas las métricas de desempeño del Sistema, SQL Server y la base de datos disponibles en ApexSQL Monitor son monitoreadas.

  4. Para añadir más instancias SQL Server, repita los pasos 2 y 3.
  5. Para configurar las métricas monitoreadas, haga clic en Metrics en el menú.

    Configure metrics dialog in ApexSQL Monitor

  6. Para añadir o remover una métrica del monitoreo, seleccione la casilla al principio de la fila de la métrica.
  7. Use el mismo formulario para configurar la alerta. Seleccione la casilla Alerting para la métrica y especifique valores de umbral.

ApexSQL Monitor provee valores de umbral para alertas de severidad baja, media y alta. Cuando se aplique, las métricas recomendadas son provistas. Para las métricas donde los valores dependen de su sistema y preferencias, como el tamaño del archivo de la base de datos, las lecturas del disco por segundo y lecturas del disco por segundo, no se predefinen valores de umbral por defecto y los valores de línea de base y umbrales pueden ser calculados y usados en su lugar. También es recomendado seleccionar los valores por defecto y modificarlos si no son aplicables al ambiente particular y no cumplen con los requerimientos específicos.

ApexSQL Monitor muestra las métricas capturadas en gráficos en tiempo real. Si una alerta es activada, es claramente indicado en la parte superior del gráfico.

Real time performance monitoring in ApexSQL Monitor

En este artículo presentamos 2 herramientas nativas de monitoreo de Windows: Windows Task Manager y Windows Performance Monitor. El primero es una herramienta que provee sólo información básica de monitoreo, útil para determinar si hay un problema y dónde. No provee ningún detalle requerido para un análisis más profundo y para la resolución de problemas, pero es fácil de acceder y usar.

Windows Performance Monitor monitorea varias métricas de desempeño, las presenta en un gráfico en tiempo real, muestra datos históricos y puede ser configurado para alertar. De todos modos, no provee suficientes detalles para un análisis más profundo y para la resolución de problemas.

ApexSQL Monitor provee una Interfaz Gráfica amigable para el usuario, la cual permite configuración y mantenimiento fáciles de métricas de desempeño en instancias SQL Server múltiples, locales y remotas. Aparte de mostrar métricas de desempeño en gráficos en tiempo real, mantiene los datos históricos en la base de datos repositorio central y los muestra en gráficos, lo cual es útil para el análisis y para determinar tendencias de desempeño.

Traductor: Daniel Calbimonte

diciembre 24, 2016