        |
Comandos de analisis de rendimiento en Solaris
Esto es un recopilatorio de distintos comando que existen en Solaris para hacer una analisis exhaustivo del rendieminto de la máquina y sus recursos (memoria, disco duro, etc...).
Dicho recopilatorio se ha creado con todos los comandos usados en el análisis del problema de "lentitud" que existía en MetroSur. AL final se llegó a la conclusión que el causante del bajo rendimiento de la máquina era el disco duro (Seagate de 20 GB).
Los comandos usados (descripción de las columnas y parámetros a usar y qué resultados indican posibles problemas) son:
- iostat -Cnx
elcasar 1% iostat -Cnx
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
1.3 18.7 9.2 118.4 0.4 0.0 20.8 1.9 1 2 c0
1.3 18.7 9.2 118.4 0.4 0.0 20.8 1.9 1 2 c0d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 fd0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 elcasar:vold(pid291)
La columna "asvc_t" nos dice el tiempo medio (en ms) de un acceso al dispositivo de la columna "device". La columna "wsvc_t" nos dice el tiempo medio de espera para acceder al dispositivo (el tiempo que estamos en la cola hasta que podemos usar el dispositivo).
La columna "r/s" son las lecturas que hacemos por segundo, y la columna "w/s" son las escrituras que hacemos por segundo"
En el ejemplo anterior tenemos un rendimiento bastante aceptable en comparación con el siguiente ejemplo que tenía un disco de los antes mencionados:
alcorcon 1% iostat -Cnx
extended device statistics
r/s w/s kr/s kw/s wait actv wsvc_t asvc_t %w %b device
0.7 22.9 12.9 147.6 9.3 0.9 395.8 38.9 37 49 c0
0.7 22.9 12.9 147.6 9.3 0.9 395.8 38.9 37 49 c0d0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 fd0
0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0 alcorcon:vold(pid292)
- mpstat
elcasar 1% mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 80 0 0 415 315 503 23 0 1 0 3675 2 4 1 93
Este comando nos muestra las estadisticas de rendimiento que tiene el kernel de los ultimos instantes para cada uno de los procesadores del sistema. La columna más útil es la última, "idl" ya que podemos tener el idle de la máquina en el momento sin tener que esperar a que nos lo de el "sar" (normalmente configurada cada 5 minutos), o peor aún, si el "sar" no está activado.
En el caso de un máquina con el disco duro que daba problemas el resultado de este comando es:
alcorcon 5% mpstat
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 92 0 0 426 326 495 25 0 16 0 4252 2 8 29 61
- vmstat
elcasar 2% vmstat
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr cd f0 -- -- in sy cs us sy id
0 0 0 856944 377008 16 80 8 15 15 0 0 20 0 0 0 314 3675 503 2 4 94
En este comando podemos ver cual es el swap disponible (columna "swap") y cuanta tenemos libre (columna "free").
El sr es muy importante, debe ser bajo (si es 200, es que está "trashing...").
Otro ejemplo del comando en una máquina con el disco problemático:
alcorcon 4% vmstat
procs memory page disk faults cpu
r b w swap free re mf pi po fr de sr cd f0 -- -- in sy cs us sy id
0 0 0 850876 368712 18 92 3 22 22 0 0 24 0 0 0 326 4252 495 2 8 90
- prtconf
Este comando nos muestra la siguiente configuración del sistema: memoria RAM y los distintos dispositivos detectados incluyendo si el driver ha sido cargado o no.
- sysdef
Este comando nos muestra la configuración de los dispositivos del sistema, los pseudo-devices, los módulos cargados en el kernel, y algunos parametros del kernel.
- dmesg
Nos muestra las últimas líneas del fichero "/var/adm/messages".
Por otra parte, existe otra herramienta para el análisis del rendimiento llamada "sdtperfmeter". Dicha herramienta tiene un fichero de configuración que se ubica en el directorio de usuario: "/home/metro/.dt/sessions/dtperf".
Por último, y siguiendo el tema del disco duro, para habilitar el Acceso Directo a Memoria, o DMA en inglés, para incrementar el rendimiento de acceso al mismo hay que seguir los siguientes pasos:
- En el arranque del sistema entrar en el "Device Configuration Assistant"
- Pulsar F2_Continue para escanear los dispositivos.
- Pulsar F2_Continue para mostrar la lista de los dispositivos de arranque.
- Pulsar F4_Boot Tasks y seleccionar "View/Edit Property Settings"
- Pulsar F2_Continue.
- Cambiar el valor a 1 de la propiedad "ata-dma-enabled". Con un 0 deshabilitariamos el DMA.
- Seleccionar la propiedad "ata-dma-enabled" de la lista y pulsar F3_Change.
- Introducir "1" y pulsar F2_Continue para habilitarlo.
- Pulsar F2_Back y depues F3_Back para volver al menu de arranque de Solaris.
- Seleccionar el dispositivo de arranque y pulsar F2_Continue.
|