¿Automatizar el control de rendimiento?

Los problemas de rendimiento no ocurren sólo cuando estamos observándolos. Los procedimientos de control en segundo plano nos proporcionan una forma de diagnosis de los problemas de rendimiento que hayan ocurrido mientras no los estábamos comprobando.

El primer método del que disponemos es usar los registros de contadores desde Registros y alertas de rendimiento de la consola de Rendimiento, el segundo es utilizar las herramientas de línea de comando Logman, Typeperf y Relog.

Hay cuestiones clave para un control de rendimiento automatizado efectivo:

  • Saber las estadísticas de rendimiento que queremos reunir de forma básica.
  • La forma y frecuencia de recolección de los datos.
  • Saber la cantidad de datos históricos (hacia atrás) que necesitamos ver y resolver un problema ocurrido hace poco o sólo por ver tendencias de rendimiento.

Registros y alertas de rendimiento

Se encuentra en la consola de Rendimiento y tiene tres componentes: registros de contador, registros de seguimiento y alertas.

Registros de contador

Podemos crear estos registros siempre que queramos un análisis detallado de rendimiento de nuestros servidores. Guardando, resumiendo y analizando los datos recogidos de registros de contador durante periodos de tiempo largos podría servirnos para cuando hayamos de planear e implementar nuevos servidores.

Así pues podremos,

  • Administrar múltiples sesiones de registro desde una única consola.
  • Iniciar y detener el registro manualmente, bajo demanda o de forma automática en horarios programados para cada registro.
  • Detener cada registro basado en el tiempo de inactividad o de tamaño del archivo.
  • Especificar esquemas de nombre automáticos y estipular que se ejecute un programa cuando se detenga un registro.

El proceso del servicio de Registros y alertas de rendimiento, smlogsvc.exe, es el responsable de la ejecución de las funciones que hemos definido del registro de rendimiento. La posibilidad de comparar los datos de rendimiento están disponibles usando herramientas de línea de comando, que ya veremos.

Un registro de contador graba en un archivo las estadísticas de rendimiento sobre el uso de recursos hardware y servicios del sistema que podemos ver interactivamente en el monitor del sistema. Ambos utilizan una API común de objetos y contadores de rendimiento. Los registros de contador son más apropiados para una recolección de información más completa que una sesión de la consola del monitor del sistema interactiva. Con las estadísticas almacenadas en un archivo no nos preocupamos de la sustitución de valores de contador antiguos como en la sesión interactiva. Todo el intervalo de datos que se ha reunido durante la grabación del registro de contador lo tenemos disponible para verlo y estudiarlo.

Después de crear un registro de contador, podemos usar el monitor del sistema para ver y analizar los datos que se han reunido. Para acceder a los datos del contador desde un registro en vez de ver el contador interactivamente, usa el botón Ver datos del registro (en la barra del monitor del sistema, o con Ctrl+L). Podemos ver en directo como se reúnen los datos o esperar y ver el archivo en otro momento.

Los datos que se guardan en los registros de contador pueden tener diversos formatos:

Formato

extensión/tipo archivo

Descripción

Binario

.blg

Formato de registro binario. Este formato se usa si no se especifica otro. Cuando un archivo binario alcanza su tamaño máximo, la recolección de datos se detiene.

Binario circular

.blg

Formato binario circular. Es como el anterior, sin embargo cuando alcanza su tamaño máximo la recolección de datos continua machacando los anteriores desde el principio del archivo. Es decir, los datos nuevos sobrescribirán los anteriores comenzando por los más antiguos.

Texto separado por comas

.csv

Valores separados por comas. Es un formato adecuado para crear datos de rendimiento compatibles con programas de hojas de cálculo como Excel.

Texto separado por tabulaciones

.tsv

Valores separados por tabulaciones. Otro de los formatos compatibles con hojas de cálculo.

Base de datos SQL

System DNS

Formato de base de datos SQL. Válido si los datos se guardan en una BD de SQL.

El formato recomendado para la mayoría de contadores es el binario. Es la manera de recoger cantidades grandes de datos de rendimiento y guardarlos de una forma más concisa a la del resto de formatos y es fácilmente convertible a los otros formatos mediante la utilidad Relog.

El formato binario circular es una forma de asegurarse que la recogida de datos no se detendrá al alcanzar el máximo tamaño el archivo.

El formato SQL permite su importación rápida a una BD de sql. Es ideal para una recuperación resumida, especialmente si controlamos el rendimiento en múltiples equipos.

Podemos iniciar y detener los registros de contador manualmente o programarlos para ejecución automática. Definir una hora de inicio/fin automático para una sesión de registro de contador, o, especificar que la sesión recoja datos continuamente. Al final de un periodo establecido, podemos iniciar una sesión nueva y ejecutar un comando para procesar el archivo en cuanto se ha completado.

Podemos generar nombres únicos para los archivos de registro de contador que creamos, elegir numeración secuencial o añadir la hora o la fecha que identifica cuando se crearon. También podemos establecer un limite de tamaño para cualquier registro de contador. Usando el formato binario circular nos aseguramos que el archivo no superará un tamaño establecido.

Trabajando con registros de contador

Iniciamos la consola, Inicio –> Ejecutar –> Escribimos Perfmon y pulsamos INTRO. Seleccionamos Registros y alertas de Rendimiento y tenemos los Registros de contador, de seguimiento y las Alertas.

rendimiento01

Para configurar los registros de contador haremos doble clic sobre Registros de Contador en el panel derecho o lo seleccionamos en el árbol de la izquierda, se nos muestran registros definidos anteriormente y un ejemplo de archivo de configuración llamado system overview que se encuentra en raíz_del_sistema:perflogssystem_overview.blg. Éste nos permite monitorizar de forma básica contadores de memoria, disco y procesador.

rendimiento02

Pero queremos uno nuevo:

  • clic derecho en el panel, Seleccionamos Nuevo registro de contador.

rendimiento03

  • Le damos un nombre descriptivo y aceptamos.

rendimiento04

  • Se muestra la ventana de propiedades del nuevo contador, con la pestaña General activa.
  • Para configurarlo, pulsaremos en el botón de añadir contadores o el de objetos, también establecemos el intervalo. El botón de objetos nos sirve para añadir contadores desde instancias del objeto de rendimiento que hemos seleccionado. Añadir contadores es para ver el mismo cuadro de diálogo que se utiliza`para añadir contadores en una sesión interactiva del monitor del sistema.

rendimiento05

  • Cambiamos a la pestaña Archivos de registro para establecer el tipo de archivo, la convención del nombre y otras opciones de administración.

rendimiento06

  • En la pestaña de Programación elegiremos las opciones de inicio (manual o automático).

rendimiento07

Las propiedades de Registro de contador que nos permiten establecer procedimientos de monitorización automática son:

Pestaña

Valores

Notas

General Añadir objetos o contadores. Podemos reunir datos del equipo local o de equipos remotos.
  Intervalo de muestreo. De forma predeterminada una vez cada 15 segundos.
  Cuenta y contraseña. Podemos usar el inicio de sesión secundario (Run As –ejecutar como-) para proporcionar la cuenta y contraseña en la toma de datos de un equipo remoto.
Archivos de registro Tipo de archivo Binario, binario circular, texto delimitado por comas o tabulaciones y como archivos de BD de SQL. Para éste último configuraremos el nombre del repositorio y el tamaño de los datos, en el resto, ubicación, nombre y tamaño del archivo.
  Nombrado automático Podemos elegir añadir una secuencia numérica única al nombre del archivo o añadir la hora o la fecha.
Programación Inicio y detención manual o automática programada. Manual o automática.
  Horas de inicio y detención. Iniciar o detener por hora del día o especificar la hora de inicio y la duración.
  Detener al alcanzar el tamaño máximo. Detenerse automáticamente en cuanto alcanza el máximo tamaño.
  Procesar en cuanto el archivo se acaba. Podemos establecer la ejecución de un comando en cuanto el archivo se cierra, normalmente para ejecutar el inicio de otro registro; en casos de no detener la toma continua de datos.

Administrador de tareas(ampliación)

Administrador de tareas

Algunas veces un rápido vistazo al administrador de tareas es más práctico que configurar una sesión de monitorización complicada. Aparte de poder observar algún proceso o aplicación que no responda y desde la misma herramienta poder finalizarlo.

Habilidades como detener procesos en ejecución, cambiar la prioridad base del proceso, establecer la afinidad de un proceso a un procesador y desconectar o cerrar sesión de una sesión de usuario, no están presentes en el monitor del sistema.

A diferencia del monitor del sistema, el administrador de tareas sólo se ejecuta interactivamente y sólo se nos permite una instancia a la vez; Podemos usarla pues, sólo para ver estadísticas de rendimiento al momento.

La mayoría de las estadísticas de rendimiento que nos muestra el administrador de tareas corresponde a contadores que también podemos reunir y ver desde el Monitor de rendimiento, aunque el administrador de tareas algunas veces llama a valores similares con nombres ligeramente diferentes.

(Si comparamos estadísticas tomadas con las dos herramientas no esperemos encontrarnos exactamente con los mismos valores)

Para abrir el administrador de tareas podemos utilizar la secuencia de teclas Ctrl+Mayúsculas+ESC o clic derecho sobre la barra de tareas y pulsar en Administrador de tareas. Nos muestra distinta información repartida entre distintas pestañas. Normalmente mostrará la pestaña con la que se cerró la última vez que lo utilizamos.

5 Pestañas: Aplicaciones, Procesos, Rendimiento, Funciones de Red y Usuarios. La barra de estado al final de la ventana muestra el número de procesos abiertos, el uso de la CPU y la cantidad de memoria virtual asignada comparada con el limite actual de asignación.

 

Podemos cambiar la frecuencia de refresco de los contadores desde el menú Ver: Alta para actualizaciones de cada medio segundo; Normal para cada segundo (predeterminado); Baja para cada 4 segundos y Pausar para actualizar manualmente mediante la tecla de función F5. Una actualización baja reduce la sobrecarga del administrador de tareas y disminuye la tasa de muestreo, que puede causar picos desapercibidos. Podemos forzar una actualización manual en cualquier instante desde el menú Ver mediante Actualizar ahora o simplemente pulsando la tecla de función F5.

La pestaña Aplicaciones muestra una lista de las que se están ejecutando en ese momento.

taskmgrApp

Desde aquí vemos su estado, además de :

  • Poder finalizarlas, tan fácil como seleccionarla y pulsar el botón de Finalizar tarea, o clic derecho sobre la aplicación en la lista y clic en Finalizar tarea.
  • Cambiar de aplicación, la seleccionamos y pulsamos en el botón Pasar a, o clic derecho sobre la aplicación en la lista y clic en Pasar a.
  • Iniciar una nueva tarea, clic en el botón Nueva tarea, en el cuadro de diálogo que aparece introducimos el nombre del programa a ejecutar.
  • Ir al proceso asociado a una aplicación, clic derecho sobre la aplicación y elegir Ir al proceso.

La pestaña Procesos proporciona una presentación tabular de las estadísticas de rendimiento de todos los procesos en ejecución en el sistema. Podemos seleccionar las que se mostrarán seleccionando las columnas desde el menú Ver. Podemos terminar procesos también, aunque el procedimiento es diferente, ya que no se le ofrece una terminación en la que pueda guardar información sino que al terminar el proceso lo más seguro es perderla toda, por lo que debemos terminar el proceso o hilo de procesos estando seguros de lo que hacemos. El intento de terminar un proceso que se está ejecutando en un contexto de seguridad diferente a nuestro ID de inicio de sesión será negado.

Seleccionando la pestaña obtenemos una lista de procesos, con las columnas elegidas que nos mostrarán información de uso de recursos de los mismos.

(El monitor del sistema muestra la memoria asignada en bytes, el administrador de tareas lo hace en kilobytes –1024 bytes-)

Si queremos añadir las aplicaciones de 16 bits tan sólo hemos de seleccionar dicha opción desde el menú Opciones.

Si comparamos los datos obtenidos desde el Administrador de tareas con el Monitor del sistema (en el administrador no se muestran todas las columnas de forma predeterminada, hay que elegirlas):

taskmgrPro

Columna en el Administrador de tareas

Contador del Monitor del Sistema

Descripción

PID, Identificador de proceso. Process(*)ID Process Identificador numérico asignado al proceso cuando se crea. Es único para el proceso en cualquier momento. En el momento en que finaliza el proceso dicho ID puede reutilizarse y asignarse a otro proceso.
Uso de CPU Process(*)% Processor Time Porcentaje de tiempo que usan el procesador o procesadores ejecutando los hilos del proceso.
Tiempo de CPU No disponible El tiempo total que los hilos del proceso han usado del procesador desde que se inició el proceso.
Uso de memoria Process(*)Working Set La cantidad de memoria física actualmente asignada al proceso. Incluye la memoria asignada específicamente al proceso además de la que está compartida por otros procesos.
Diferencia Uso de memoria No disponible El cambio de uso de memoria desde la última actualización.
Uso máximo de la memoria Process(*)Working Set Peak Máxima cantidad de memoria física usada por el proceso desde su iniciación.
Errores de página No disponible Número de errores de página causadas por el proceso desde su iniciación.
Diferencia de errores de página Process(*)Page Faults/sec Cambio en el valor del contador de errores de página desde la última actualización de pantalla.
Objetos de Usuario No disponible Número de objetos proporcionados al proceso por el subsistema de usuario. Por ejemplo: ventanas, menús, cursores, iconos, etc…
Lecturas de E/S No disponible Número de operaciones de lectura realizadas por el proceso desde su iniciación.
Similar al valor del contador Process(*)IO Read Operations/sec, excepto que el administrador de tareas sólo informa de valores acumulados.
Bytes de lectura de E/S No disponible Número de bytes leídos por las operaciones de lectura del proceso desde su iniciación.
Similar al valor del contador Process(*)IO Read Bytes/sec, excepto que el administrador de tareas sólo informa de valores acumulados.
Id de sesión Nombre de instancia de sesión de Terminal Services. Este contador sólo tiene sentido si Terminal Services está instalado. Una vez instalado, el contador muestra el ID de sesión de TS que está ejecutando el proceso. Es un número único para la sesión en cualquier momento; En cuanto se termina la sesión el ID asignado puede reutilizarse y asignarse a otro proceso.
Nombre de usuario No disponible Nombre de la cuenta bajo la que se inició el proceso.
Tamaño de memoria virtual Process(*)/Virtual Bytes Cantidad de memoria virtual asignada a este programa.
Bloque paginado Process(*)/Pool Paged Bytes Cantidad de memoria paginable asignada al proceso.
Bloque no paginado Process(*)/Pool Nonpages Bytes Cantidad de memoria no paginable asignada al proceso.
Prioridad base Process(*)/Priority Base Prioridad base asignada al proceso. El monitor del sistema lo muestra como un número, mientras que el administrador de tareas usa un nombre. Baja, debajo de lo normal, normal, encima de lo normal, alta y tiempo real, que corresponden a niveles de prioridad 4,6,8, 10, 13 y 24 respectivamente.
Recuento de identificadores Process(*)/Handle Count Número de identificadores abiertos en el proceso.
Número de subprocesos Process(*)/Thread Count Número de subprocesos que tiene abiertos el proceso.
Objetos GDI No disponible Número de objetos GDI (interfaces gráficos) en uso por el proceso. Un GDI es un elemento proporcionado por la librería GDI para dispositivos gráficos.
Escrituras de E/S No disponible Número de operaciones de escritura realizadas por el proceso desde su iniciación.
Similar al valor de contador Process(*)/IO Write Operations/sec, excepto que el administrador de tareas informa sólo de valores acumulados.
Bytes de escritura de E/S No disponible Número de bytes escritos por las operaciones de escritura realizadas por el proceso desde su iniciación.
Similar al valor de contador Process(*)/IO Write Bytes/sec, excepto que el administrador de tareas informa sólo de valores acumulados.
Otros de E/S No disponible Número de operaciones de Entrada/Salida que no son de lectura/escritura.
Similar al valor del contador Process(*)/IO Other Operations/sec, excepto que el administrador de tareas informa sólo de valores acumulados.
Otros bytes de E/S No disponible Número de bytes usados en Otras operaciones de E/S llevadas a cabo por el proceso desde su iniciación.
Similar al valor del contador Process(*)/IO Other Bytes/sec, excepto que el administrador de tareas informa sólo de valores acumulados.

 

 

La pestaña Rendimiento muestra en tiempo real una vista de datos de rendimiento del equipo local, mostrando gráficas del uso de memoria y de CPU. La mayoría de datos que nos ofrece también podemos obtenerlos con el Monitor del Sistema.

taskmgrRen

Aquí podemos usar dos características adicionales:

  • doble clic en la ventana para acceder al gráfico único de uso de CPU, que podremos cambiar de tamaño y posición por el escritorio.
  • Ver el porcentaje de uso de cronología (marcarlo desde el menú Ver) del núcleo (kernel mode).

taskmgrRen2 taskmgrRen3

Comparando los datos con el Monitor de sistema:

Campo de la ventana de Rendimiento

Contador del Monitor del sistema

Descripción

Uso de CPU Processor(_Total)% Processor Time Porcentaje de tiempo de uso del procesador o procesadores en que se encuentra ocupado con la ejecución de instrucciones de aplicación o del sistema operativo.
Indicador general de lo atareado que está el equipo.
Uso de PF MemoryCommited Bytes Representación gráfica del uso total de PF. Cantidad total de memoria virtual en uso en ese instante.
Identificadores Process(_Total)Handle Count Número de identificadores abiertos en todos los procesos actualmente en ejecución en el sistema.
Subprocesos SystemThreads Número de subprocesos en ejecución en el sistema.
Procesos SystemProcesses Número de procesos en ejecución.
Memoria física: Total No disponible Cantidad total de memoria física instalada y reconocida por el sistema operativo.
Memoria física: Disponible MemoryAvailable KBytes Cantidad de memoria física que puede asignarse a un proceso inmediatamente.
Memoria física: Caché sistema MemoryCache Bytes Cantidad de memoria física asignada al sistema y utilizándose: incluye bytes residentes de caché del sistema, bytes residentes de bloque paginado y bytes residentes de código del sistema.
Carga de transacciones: Total MemoryCommited Bytes Cantidad total de memoria virtual asignada y en uso por todos los procesos en el sistema.
Carga de transacciones: Límite MemoryCommit Limit Cantidad máxima de memoria virtual que puede asignarse sin aumentar el archivo de paginación.
Carga de transacciones: Máximo No disponible La cantidad de memoria virtual que ha sido asignada desde el inicio del sistema.
Memoria del núcleo: Total No disponible La suma de la memoria del sistema paginada y no paginada desde los bloques paginados y no paginados actualmente en uso.
Memoria del núcleo: Paginado MemoryPool Paged Resident Bytes Cantidad de memoria del sistema del bloque paginado residente actual.
Memoria del núcleo: No paginado MemoryPool Nonpaged Bytes Cantidad de memoria del sistema del bloque no paginado actualmente en uso.

 

La pestaña Funciones de red muestra el tráfico de red hacia y desde el equipo en el adaptador de red. Se muestra el uso de la red como un porcentaje de la capacidad total disponible de red teórica del adaptador de red, conexión RAS, VPN establecida u otra conexión de red.

taskmgrRed taskmgrRed2

Las columnas deben elegirse desde el Menú Ver una vez seleccionada la pestaña.

Columna en Funciones de red

Contador del Monitor del Sistema

Descripción

Descripción del adaptador Network interface(instance) Nombre de la conexión que se monitoriza. Se usa como nombre de instancia del objeto de rendimiento de este adaptador de red.
Nombre del adaptador No disponible Nombre de la conexión de red.
Uso de red No disponible División entre el contador Network interface(*)Bytes Total/sec y el Network interface(*)Current Bandwidth mostrado como un porcentaje.
Velocidad de enlace Network interface(*)/Current Bandwith Ancho de banda máximo teórico del adaptador.
Estado No disponible Estado actual operacional del adaptador de red.
Rendimiento de bytes enviados No disponible Ratio de bytes enviados desde este equipo mediante este adaptador dividido entre la velocidad de enlace y mostrado como porcentaje.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Bytes Sent/sec.
Rendimiento de bytes recibidos No disponible Ratio de bytes recibidos por este equipo mediante este adaptador dividido entre la velocidad de enlace y mostrado como porcentaje.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Bytes Received/sec.
Rendimiento de bytes No disponible Ratio de bytes enviados o recibidos desde y por este equipo mediante este adaptador de red, dividido por la velocidad de enlace y mostrado como porcentaje.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Bytes Total/sec.
Bytes enviados No disponible Número total de bytes enviados desde el equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Bytes Sent/sec.
bytes recibidos No disponible Número total de bytes recibidos por el equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Bytes Received/sec.
bytes No disponible Número total de bytes enviados o recibidos desde y por este equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Bytes Total/sec.
bytes enviados/intervalo Network interface(*)Bytes Sent/sec Bytes enviados desde el equipo durante el intervalo de muestra.
bytes recibidos/intervalo Network interface(*)Bytes Received/sec Bytes recibidos por el equipo durante el intervalo de muestra.
bytes/intervalo Network interface(*)Bytes Total/sec Bytes enviados o recibidos desde y por el equipo durante el intervalo de muestra.
Unidifusiones enviadas No disponible Total de paquetes unicast enviados desde el equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Packets Sent Unicast/sec.
Unidifusiones recibidas No disponible Total de paquetes unicast recibidos por el equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Packets Received Unicast/sec.
Unidifusión No disponible Paquetes totales de unicast enviados o recibidos desde o por el equipo desde que se inició.
Unidifusiones enviadas/intervalo Network interface(*)Packets Sent Unicast/sec Paquetes unicast enviados desde el equipo durante el intervalo de muestra.
Unidifusiones recibidas/intervalo Network interface(*)Packets Received Unicast/sec Paquetes unicast recibidos por el equipo durante el intervalo de muestra.
Unidifusiones/intervalo No disponible Paquetes unicast enviados o recibidos desde y por el equipo durante el intervalo de muestra.
Otras difusiones enviadas No disponible Paquetes no unicast enviados desde el equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Packets Sent Non Unicast/sec.
Otras difusiones recibidas No disponible Paquetes no unicast recibidos por el equipo desde que se inició.
Está basado en los mismos datos del contador de rendimiento Network interface(*)Packets Received Non Unicast/sec.
Otras difusiones No disponible Paquetes totales no unicast enviados o recibidos desde y por el equipo desde que se inició.
Otras difusiones enviadas/intervalo Network interface(*)Packets Sent Non-Unicast/sec Paquetes no unicast enviados desde el equipo durante el intervalo de muestra.
Otras difusiones recibidas/intervalo Network interface(*)Packets Received Non-Unicast/sec Paquetes no unicast recibidos por el equipo durante el intervalo de muestra.
Otras difusiones/intervalo No disponible Paquetes totales no unicast enviados o recibidos desde y por el equipo durante el intervalo de muestra.

La pestaña Usuarios muestra aquéllos usuarios actualmente con sesión iniciada en el equipo. Las columnas, como en otras pestañas se eligen desde el menú Ver.

taskmgrUsu

 

 

Disponemos del nombre del usuario, del Id que identifica la sesión de usuario, su estado –conectado o desconectado-, Nombre del cliente –nombre del equipo usado por la sesión, si es local aparece en blanco y la Sesión, de la consola o de TS.

Desde aquí podemos finalizar una sesión de usuario seleccionándola y pulsando el botón desconectar. Esto desconecta al usuario, aunque la sesión sigue ejecutando las aplicaciones; o podemos cerrarla, con lo que cerramos la sesión y las aplicaciones que se ejecutan (Si hay datos de por en medio, se perderán).

Podemos enviar un mensaje a un usuario específico, seleccionando el usuario y clic en enviar mensaje.

Finalmente, podemos tomar el control remoto de la sesión de TS, clic derecho en el usuario y seleccionar control remoto.

Trucos para el System Monitor

En la ayuda de la propia herramienta nos encontramos con la información para trabajar con contadores, datos y configuraciones. Cuando trabajamos en la vista gráfica podemos darnos cuenta de lo fácil de entender e interpretar. Si tenemos muchos contadores, puede que esto se nos complique. Por eso hay algunos trucos para simplificar vistas complejas y hacerlas más fácil de entender:

  • Resaltar aquéllos valores de contador que nos interesen más.
  • Cambiar a vista de informe o histograma para analizar los datos de muchos contadores.
  • Doble-clic en una línea de gráfico o barra para identificar de qué contador se trata.
  • Ensanchar la línea del contador que nos interesa para una mejor visión.
  • Ejecutar varias copias de Monitor del sistema si necesitamos ver más contadores o por agruparlos en categorías.

Todos los valores de contador se dibujan contra un eje-y. Este eje muestra valores desde 0 a 100 de forma predeterminada, que de forma ordinaria es suficiente. Podemos cambiar el mínimo y el máximo mediante la pestaña Gráfico de las propiedades del Monitor del sistema, además de activar cuadrículas horizontales y verticales para facilitar la lectura.

Ordenar la Leyenda. Las columnas contadores, instancias, objetos, equipos, pueden ser ordenados pulsando en la cabecera de la columna a ordenar.

Aunque no podemos imprimir directamente informes gráficos o tabulares desde la consola, podemos imprimir un informe:

  • Usando la captura de imagen, botón Impr-Pant, o usando la secuencia ALT+Impr-Pant para la ventana activa; luego pegamos la imagen en Paint mismo y la podemos imprimir.
  • Añadir el monitor del sistema a una aplicación de Office, como Word o Excel, configurarlo para mostrar datos y entonces imprimir desde esa aplicación.
    1. Abrimos un documento de office
    2. menú insertar
    3. insertar objeto
    4. elegimos system monitor control
    5. diseñamos su tamaño en el documento
    6. clicamos en el icono de diseño para activar el control
    7. clic derecho para agregar los contadores que deseamos

systemmonitorcontrol01 systemmonitorcontrol02 systemmonitorcontrol03 systemmonitorcontrol04

  • Guardarlo como un archivo HTML, clic derecho en el panel de detalles, Guardar como y darle un nombre. Podemos abrir luego el html e imprimirlo

Monitor del sistema (System Monitor)

El monitor del sistema es la herramienta gráfica principal de monitorización en tiempo real y de análisis de datos registrados. El acceso más fácil es abriendo la consola de rendimiento desde herramientas administrativas o tecleando Perfmon.exe desde Inicio –> Ejecutar.

Desde la ayuda en la barra de herramientas de la consola podemos ver procedimientos y una visión general de la consola misma.

Advertencia: Realizar una monitorización de un gran número de contadores a la vez puede generar una alta sobrecarga, pudiendo llevar al sistema a no responder ni al ratón ni al teclado e impactar en el rendimiento de importantes servicios de aplicaciones de un servidor. Para reducir esta sobrecarga reduzcamos el número de contadores o la muestra de intervalo, o incluso cambiar a captura de datos en segundo plano mediante archivos de registro binarios.

Cuando iniciamos la consola de rendimiento de manera predeterminada se muestra en pantalla el gráfico del monitor del sistema con un conjunto predeterminado de contadores básicos que monitorizan la actividad del procesador, disco y memoria virtual. Estos contadores nos dan información inmediata sobre la salud del sistema que estamos comprobando. La vista gráfica se muestra de forma predeterminada, pero también podemos crear histogramas e informes tabulados de los datos del dontador de rendimiento usando la consola.

La consola:

PerformanceMonitorConsole02

Barra de herramientas

Proporciona la posibilidad de añadir o eliminar contadores desde un gráfico. Los botones de la barra de herramientas proporcionan una forma rápida para configurar la monitorización en pantalla de la consola. También, con clic derecho, podemos acceder a un menú para añadir contadores y configurar las propiedades de la sesión.

Vista gráfica

La pantalla muestra los valores actuales de los contadores seleccionados. Podemos variar el estilo de la línea, anchura y color. Podemos personalizar el color de la ventana y de la misma línea gráfica , añadir un título descriptivo, mostrar líneas en cuadrícula y cambiar la fuente de la pantalla, entre otras opciones gráficas.

Barra de valores

Muestra el último, la media, el mínimo y el máximo valor del contador que está seleccionado en la Leyenda. También muestra un valor de duración que indica el tiempo total transcurrido mostrado en el gráfico(basado en el intervalo de actualización).

Leyenda

Muestra los contadores seleccionados para ver, identificados por el nombre de equipo, objeto y nombres de instancia e instancia padre. El color de la línea gráfica y el factor de escala usada en el gráfico para el contador en la escala –y- también se muestran.

Barra de tiempo

En modo de tiempo real, esta barra se mueve a través del gráfico desde la izquierda a la derecha (mirando la herramienta) para indicar el paso de cada actualización de intervalo. 

Cambiar la muestra del intervalo

El intervalo predeterminado para una línea de gráfico es una vez por segundo. Si lo consideramos demasiado rápido, podemos cambiarla desde la pestaña general de las propiedades del Monitor del sistema (clic derecho en cualquier parte de Leyenda, clic en propiedades, pestaña general).

generaltab

En una sesión de monitorización la vista gráfica muestra las últimas 100 observaciones de cada contador, si aún no se han acumulado, puede que las líneas se vean cortadas.

Un histograma, o vista informe, puede mostrar en pantalla el último (o el actual) valor de cada contador que está siendo monitorizado, o una estadística como: el mínimo, el máximo o la media de las últimas 100 observaciones.

Vista histograma

histograma

Monitorización personalizada

Después de la selección de los contadores que deseamos ver y personalizar en la pantalla del monitor del sistema, podemos guardar la configuración para reutilizarla en otras ocasiones.

Crear una configuración nueva de monitorización en tiempo-real simple:

  1. Pulsamos en el botón New(primer botón de la izquierda) de la barra de herramientas.
  2. Pulsar en el botón con el signo (+).
  3. En la ventana de añadir contadores, seleccionamos los que queremos (objetos y contadores) ver en el monitor.
  4. Vamos añadiendo uno a uno.
  5. Cerramos la ventana de añadir contadores y vemos el gráfico.
  6. Guardamos la vista si nos interesa desde File, Save As.

nuevo01 nuevo02 nuevo03

nuevo04 nuevo05 nuevo06

Si queremos:

Crear una nueva vista: con el botón nuevo conjunto de contadores.

Cambiar la vista: Botones, vista gráfica, histograma o Presentar informes.

Resaltar: para resaltar una línea de gráfico o barra del histograma, usamos el botón Resaltar.

toolbar

Propiedades del Monitor del sistema

propgeneral

General:

Ver: Elección de vista, Gráfico, Histograma o Informe.

Mostrar elementos: Escoger los que se mostrarán y los que no.

Datos de informes y de histograma: Escoger los valores.

Apariencia y borde: Apariencia de la vista y incluir o no borde.

Ejecutar muestra automáticamente y valor del intervalo de ejecución.

Permitir caso de contadores duplicados: Muestra los índices de instancia.

 proporigen

Origen:

Origen de datos: Actividad en curso o desde un archivo de registro o de una base de datos.

Botón de intervalo de tiempo.

propdatos

Datos:

Contadores: Agregar y/o quitar.

Color, anchura y estilo de la línea del contador.

Escala del contador.

propgrafico

Gráfico:

Título: un título para el gráfico.

Eje vertical: Etiqueta para el eje vertical.

Mostrar: marcar las opciones deseadas, cuadrículas y numeración de escala vertical.

Escala vertical: especificar máximo y mínimo para los límites del eje del gráfico.

propapariencia

Apariencia:

Color: Especificar el color para diversos aspectos como el fondo de gráficos, fondo de control, cuadrícula, texto y barra de hora.

Fuente: Especificar la fuente, estilo y tamaño.

Estadísticas de rendimiento

La manera más fácil de controlar el rendimiento en Windows Server 2003 es seleccionar Rendimiento de las herramientas administrativas y monitorizar en tiempo real utilizando la consolad de rendimiento.

PerformanceMonitorConsole

Cuando abrimos la consola, se muestra una vista de System Monitor con un conjunto predeterminado de contadores cargados para monitorizar el equipo local, como puede verse en la imagen. Se muestran tres de los cientos posibles valores de contador de rendimiento de los que System Monitor podría darnos información.

Objetos de rendimiento

Las estadísticas relacionadas con el rendimiento se organizan en objetos. Por ejemplo el objeto procesador.

Múltiples instancias de objeto

Pueden ser una o más instancias de un objeto de rendimiento, donde cada una de ellas se identifica con un nombre único.

De forma similar, para cada proceso en ejecución, un único conjunto de contadores relacionados se asocian con la instancia del proceso. El nombre de un proceso tiene un componente índice añadido para que nunca múltiples instancias de un proceso tengan el mismo nombre de proceso.

La mejor forma de ver las relaciones entre instancias de objeto es acceder al cuadro de diálogo de Agregar contadores, pulsando en el botón con el signo (+)de la barra de herramientas. Seleccionar el objeto proceso, y veremos lo más parecido a la imagen siguiente.

agregarcontadores

Hay múltiples instancias del objeto proceso, cada uno corresponde a un proceso de programa en ejecución que está actualmente activo. Dos objetos pueden tener relación de padre-hijo también.

Tipos de objetos de rendimiento

Windows Server 2003 tiene instalados objetos de rendimiento correspondientes a hardware, servicios del sistema y otros recursos. Estos objetos y sus contadores pueden visualizarse usando el cuadro de diálogo Agregar contadores de la consola de Rendimiento.

Lista de objetos de rendimiento.

Puede que algunos de los objetos listados no estén en tu equipo, ya que están asociados a hardware, aplicaciones o servicios que puede que no tengas instalados, en su lugar puede que tengas algunos que no aparecen aquí y que tengas instalados, para medir otras aplicaciones.

Contadores de rendimiento

Las estadísticas individuales de rendimiento que están disponibles para cada intervalo de medición son contadores numéricos.

Ruta de contador de rendimiento

Cada contador de rendimiento que seleccionemos es únicamente identificado por su Path.

Al hacer click con el botón derecho en la zona donde se muestran los contadores y acceder a las propiedades, vemos una lista de los contadores seleccionados para mostrarse, en la pestaña Datos.

vista contadores 

propiedadesmonitordesistema

 

 

La sintaxis que se usa para describir la ruta de un contador especificado: \equipoobjetoContador

La misma sintaxis se usa para identificar los contadores si la información la recogemos con las herramientas de línea de comandos: Logman, Relog y Typeperf.

Para objetos simples como Sistema o Memoria que tiene sólo un único objeto de instancia asociado, la sintaxis ObjetoContador será suficiente, como uno de los que se ve en la ventana, MemoriaPáginas/s que identifica el contador de Páginas/segundo del objeto memoria.

La parte del nombre de equipo es opcional; de forma predeterminada se asume el nombre del equipo local. Sin embargo podemos especificar el equipo por su nombre ya que podemos acceder a los contadores de un equipo remoto.

Los componentes, padre, instancia, índice y contador de la ruta pueden contener o un nombre válido o un carácter comodín. Por ejemplo: para especificar todos los contadores asociados con un proceso, podemos usar los contadores individualmente o usar el carácter comodín (*): Proceso(el que sea)*

Sólo algunos objetos tienen instancias padre, nombres de instancia y números índice que se necesitan para identificarlos. Necesitamos especificar estos componentes de la ruta sólo cuando sean necesarios para identificar la instancia en la que estamos interesados. Donde sea necesario para identificar el contador especificaremos la instancia padre, el nombre de instancia o el índice de la instancia, podemos usar la ruta individualmente o usando caracteres comodín en su lugar. Esto nos permite identificar todas las instancias con una identificación de ruta común, sin tener que enumerar cada ruta individual del contador.

El objeto proceso tienen un componente adicional a la ruta ya que su nombre puede no ser garantía de unicidad. Debemos usar un formato como Proceso(*)ID del proceso para recoger el ID del proceso para cada uno en ejecución.

Cuando hay múltiples procesos con el mismo nombre ejecutándose y necesitamos distinguirlos, podemos usar el identificador índice #. Como se ve en alguna de las imágenes, svchost#1, svchost#2 y sucesivamente.

Nótese que el nombre de la primera instancia de un proceso no requiere del identificador #. El índice 0 está oculto, de manera que la numeración comienza por el 1. No debemos monitorizar múltiples instancias de un mismo proceso a menos que mostremos los índices de las instancias.

Para el objeto proceso, que tiene una instancia padre del proceso para ayudar a identificarlo, la instancia padre es también parte de la ruta.

Si se especifica un carácter comodín en el nombre padre, todas las instancias del objeto especificado que coincidan con la instancia especificada y los campos de contador serán devueltas. Si el carácter comodín se especifica en el nombre de instancia, todas las instancias del objeto especificado se devolverán. Y si el carácter comodín se usa en lugar del nombre del contador, todos los contadores del objeto especificado se devolverán.

Rutas parciales como pro* no son compatibles.

Tipos de contadores

Cada contador tiene un tipo de contador. System Monitor (y aplicaciones similares) usa el tipo de contador para calcular y presentar el valor del contador correctamente. Conocer el tipo de contador es útil también porque indica como se derivó la estadística de rendimiento. El tipo de contador también define la regla de resumen que se utilizará para resumir las estadísticas de rendimiento sobre largos intervalos utilizando la herramienta Relog.

La API del monitor de rendimiento define más de 20 tipos específicos de contador, algunos altamente especializados. Los distintos tipos de contador se encuentran en categorías generales, dependiendo de como se derivan y resumen. Las cinco categorías principales de contadores son:

  • Contadores instantáneos que muestran en pantalla un valor numérico simple de la medición más reciente.

Observación única o muestra del valor de un contador de rendimiento en un momento concreto. Siempre son valores enteros. Nos dicen algo sobre el estado del equipo en este momento.

  • Contadores de intervalo que muestran en pantalla un ratio de actividad en el tiempo.

Contadores de intervalo que derivan de los mecanismos de medición que cuentan continuamente el número de veces la ocurrencia de eventos en particular. System Monitor recupera el valor actual de dicho contador cada intervalo de medición. También pueden considerarse como contadores de diferencia ya que el contador informa del valor actual de un evento de medición continuo. System monitor retiene el valor del intervalo anterior y calcula la diferencia entre esos dos valores. Normalmente la diferencia vienen expresada en ratio/por segundo.

  • Contadores de tiempo transcurrido.

Hay unos pocos contadores importantes de tiempo transcurrido que miden el tiempo que lleva el sistema en marcha y tiempo transcurrido de proceso. Estos contadores se recogen en un intervalo básico y no son resumidos.

  • Contadores de media que proporcionan valores de media derivados del intervalo.

Normalmente %. Calculan la media de valores tomados.

  • Contadores complejos varios incluyendo contadores especializados que no recaen en ninguna de las otras categorías.

Parecidos al primer tipo, los contadores complejos son observaciones únicas. Deben resumirse detenidamente.

Herramientas que nos servirán para controlar el rendimiento

  • Herramientas del sistema operativo relacionadas con el rendimiento
    • Freedisk.exe: Consulta y comprueba si hay una cantidad de espacio libre en el disco, obteniendo un 0 si hay suficiente espacio para una operación y un 1 si no lo hay. Si no se especifica valor, la herramienta nos dice la cantidad de espacio en disco que hemos dejado. Útil cuando monitorizamos el rendimiento del disco.
    • Lodctr.exe: Carga contadores de rendimiento. Especialmente útil para guardar y restaurar un conjunto de contadores de rendimiento habilitados en el registro.
    • Logman.exe: Potente herramienta de línea de comando para recoger eventos e información de rendimiento de los archivos de registro. Útil para monitorizar el rendimiento con scripts.
    • Msinfo32.exe: Proporciona información sobre los recursos usados por el sistema. Útil si queremos una captura de información sobre procesos y los recursos que están consumiendo.
    • Network Monitor: Herramienta gráfica para monitorizar el tráfico de la red hacia y desde el servidor.
    • Alertas y Registros de rendimiento: Creación manual de conjuntos definidos de registros que pueden usarse como línea base de los servidores. El componente alertas nos permite tomar una acción específica cuando aparecen condiciones específicas.
    • Relog.exe: Herramienta de línea de comandos para crear nuevos registros de rendimiento desde archivos de registro variando la frecuencia de muestreo.
    • Systeminfo.exe: Información detallada sobre equipos.
    • System Monitor: Herramienta gráfica principal utilizada para monitorizar el rendimiento del sistema.
    • Taskkill.exe: Matar un proceso específico en un equipo específico.
    • Tasklist.exe: Muestra en pantalla los ID de proceso e información de memoria sobre todos los procesos en ejecución.
    • Task manager: Herramienta gráfica que nos da una visión inmediata del sistema y del rendimiento de red del servidor local.
    • Tracerpt.exe: Herramienta de línea de comando útil en la conversión de archivos de registro binario de seguimientos de eventos a informes o archivos de texto de valores separados por coma (CSV) para su importación a hojas de cálculo.
    • Typeperf.exe: Herramienta de línea de comandos que escribe datos de rendimiento en un archivo de registro. Útil para procesos automáticos de monitorización de rendimiento.
    • Unlodctr.exe: Descarga contadores de rendimiento. Especialmente útil para restaurar un conjunto de contadores de rendimiento habilitados en el registro.
  • Herramientas de las Support tools relacionadas con el rendimiento.
    • Depends.exe: Escaneo de cualesquiera módulos de Windows y construcción de un diagrama jerárquico en árbol de todos los módulos dependientes. Útil para conocer todos los archivos usados por un proceso.
    • Devcon.exe: Device Configuration Utility, muestra la información de configuración de todos los dispositivos y su actual estado. Útil para monitorizar el rendimiento del hardware.
    • Diruse.exe: Directory Usage, escaneará un árbol de directorios e informará la cantidad de espacio usada por cada usuario. Útil en el seguimiento del espacio en disco.
    • Exctrlst.exe: Extensible Counter List. Herramienta gráfica que muestra en pantalla todos los archivos .dll de contadores que están en ejecución y proporciona la capacidad de deshabilitarlos.
    • Health_chk.cmd: Script que usa Ntfrsutl.exe para reunir datos desde el FRS del equipo escogido para una análisis posterior.
    • Memsnap.exe: Herramienta que toma una captura de los recursos de memoria que consumen los procesos en ejecución y guarda dicha información en un archivo de registro.
    • Netcap.exe: Sniffer para capturar paquetes de red.
    • Poolmon.exe: Monitor de área de memoria, que incluye las áreas paginadas y no paginadas. Útil en la detección de pérdidas de memoria.
    • Pviewer.exe: Herramienta gráfica que muestra en pantalla información sobre un proceso en ejecución y nos permite detenerlo y cambiarle su prioridad.
    • Replmon.exe: Permite a los administradores monitorizar la replicación de AD, la sincronización y la topología
  • Herramientas del Windows Resource Kit relacionadas con el rendimiento.
    • Adlb.exe: Herramiento de balanceo de carga de Active Directory. Balancea la carga impuesta mediante objetos de conexión de AD a través de múltiples servidores.
    • Checkrepl.exe: Script para monitorizar la replicación y enumerar la topología de replicación de un determinado controlador de dominio.
    • Clearmem.exe: Limpia la memoria.
    • Consume.exe: Consume recursos en tests de estrés de rendimiento como en situaciones de baja memoria. Los recursos que puede apropiarse incluyen la memoria física, memoria paginada y el espacio del disco, tiempo de CPU, y área de memoria del kernel.
    • Custreasonedit.exe: Herramienta gráfica y de línea de comando que permite añadir, modificar y eliminar, las razones personalizadas usadas por el Shutdown Event Tracker(Seguimiento de eventos de apagado) en Windows Server 2003.
    • DH.exe: Display Heap muestra información sobre la utilización de un proceso en modo usuario o, sobre la utilización de área de memoria en memoria en modo kernel. Un heap (área de memoria dinámica) es una región de una o más páginas que pueden subdividirse y asignadas en pequeñas porciones. Esto lo suele hacer el Administrador de Heap, cuyo trabajo es asignar y desasignar cantidades variables de memoria.
    • Empty.exe: Liberar el espacio de memoria de trabajo de una tarea o proceso especificada.
    • Intfiltr.exe: Interrupt-Affinity Filter permite a un usuario cambiar la afinidad de la CPU para componentes de hardware que generan interrupciones en un equipo. 
    • Kernrate.exe: Herramienta muestra-perfiles que significa que principalmente nos servirá para ayudar a identificar donde se está gastando el tiempo de CPU. Los modos kernel y de usuario pueden perfilarse tanto separadamente como simultáneamente.
    • Memtriage.exe: Detecta posibles pérdidas de recursos en un sistema en ejecución. Útil para monitorizar pérdidas de memoria, fragmentación de memoria, fragmentación de área de memoria, pérdidas de áreas de memoria y pérdidas de manejadores. 
    • Pfmon.exe: Monitor de errores de página, lista el origen y número de errores de página generados por las funciones de llamada de una aplicación.
    • Pmon.exe: Monitor de recursos de proceso, muestra cada proceso y su uso de procesador y memoria.
    • Showperf.exe: Utilidad de volcado de bloques de datos de rendimiento. Herramienta gráfica que crea un volcado del contenido de los bloques de datos de rendimiento y que podemos verlos y depurar la estructura de datos en bruto de todos los objetos de rendimiento cargados.
    • Splinfo.exe: Muestra la información en pantalla del rendimiento de la cola de impresión.
    • Srvinfo.exe: Muestra en pantalla un resumen de información sobre un equipo remoto y los servicios actualmente en ejecución en el mismo.
    • TSSCalling.exe: Series de applets que pueden usarse para crear scripts automatizados para simular usuarios interactivos remotos y realizar test de estrés de rendimiento de entornos de Terminal Services.
    • Vadump: Detalla la cantidad actual de memoria virtual asignada a un proceso.
    • Volperf.dll: Habilita a los administradores el uso del monitor de rendimiento para monitorizar las shadow copies.