jueves, mayo 31, 2007

Perfomance de Servidores Windows 2000 y 2003

Mas de una vez no ha tocado ver un Server o un Desktop que esta muy lento y no sabemos que es lo que esta pasando, al hacer un CTRL-ALT-DEL podemos a traves del Task manager (administrador de tareas) ver algo de informacion, pero no sabemos bien como interpretarla.

La herramienta Perfomance Monitor es como el Task manager pero nos entrega mas informacion, mas detalle de que esta ocurriendo, pero si no sabemos interpretarla no nos sirve de mucho.

Como primera parte nos enfocaremos a lo que es el servidor, independiente de que tenga instalado, en post posteriores quiero ver SQL Server y Exchange.

Tratare en lo posible de colocar los contadores tanto en Ingles como en Español.

Procesador:

Processor: % Time Processor
Procesador: % de tiempo de Procesador

Se expresa como un porcentaje del tiempo que un procesador invierte ejecutando un subproceso activo. Se calcula midiendo durante cuanto tiempo el subproceso no activo está activo en el intervalo modelo. (Cada procesador tiene un subproceso inactivo (Idle) que consume ciclos cuando otros subprocesos no están preparados para ejecutarse).

Este contador es el indicador primario de la actividad del procesador, y muestra el porcentaje medio del tiempo ocupado observado durante el intervalo modelo. Se calcula monitorizando el tiempo que el servicio ha estado inactivo, y sustrayendo este valor a 100%.

El valor promedio de este contador no debiera el 80% por periodos prolongados de tiempos, hay que considerar también el tipo de carga que recibe el equipo, si se trata de un servidor que solo ejecuta procesos batch esta condición podría ser normal.

Si el promedio sobrepasa el 80% hay que considerar un aumento en la velocidad del procesador y/o el agregar más procesadores.

System: Processor queue length
Sistema: Longitud de la Cola del Procesador

Es el número de subprocesos en la cola del procesador. Diferenciándose de los contadores de disco, este contador sólo muestra subprocesos listos, no muestra subprocesos que se están ejecutando. Hay una única cola para el tiempo del procesador incluso en equipos con múltiples procesadores. Por consiguiente, si un equipo tiene múltiples procesadores, necesita dividir este valor por el número de procesadores que atienden la carga de trabajo.

Una cola de procesador ininterrumpida de menos de 10 subprocesos por procesador es normalmente aceptable, dependiendo de la carga de trabajo.

Para servidores Sql Server y Exchange, lo recomendable es que esta cola sea menor a 2 por CPU, es decir si tenemos 4 CPU el valor entregado debemos dividirlo por 4.


System: Context Switches/sec
Sistema: Cambios de Contexto por Segundo


Cambios de contexto por segundo es la proporción de cambios de un subproceso a otro. Los cambios de subproceso ocurren cuando un subproceso en ejecución abandona voluntariamente al procesador, es adelantado por un subproceso de lectura de prioridad mayor o cambia entre nodo usuario y modo privilegiado (kernel) para usar un servicio Ejecutivo o subservicio.

Es la suma de Subprocesos\\Cambios de contextos por segundo para todos los subprocesos ejecutándose en todos los procesadores en el equipo y se mide en números de cambios. Hay contadores de cambio de contexto en los objetos de sistema y de subproceso.

Este contador muestra la diferencia entre los valores observados en las dos últimas muestras dividido por la duración del intervalo de muestra. Debiera mantenerse lo mas bajo posible, valor mayores indican gran actividad.

3 comentarios:

M@rTIn X dijo...

Cool!!!

gbr dijo...

Excelente ISA. Felicitaciones!
Una sugerencia es que puedas ahondar un poco más con casos prácticos,por ejemplo, por producto-servicio: Windows server, dns, sql, exchange ;), etc..
Sigue así!

Isa dijo...

Sugerencia anotada, queria ver algo generico para cpu memoria, disco y red y luego ir analizando distintos servicios, ya tengo una planilla con SqlServer y con Exchange, considerare los demas servicios como DNS, AD, DHCP y otros.