1. Las bases de un cuello de
botellas
Que hacer cuando un sistema presenta
lentitud? La lentitud puede ser atribuida a uno o
más cuellos de botellas, estos pueden ser causados por un
componente del sistema que no se
ejecuta de la forma rápida y eficiente de acuerdo a lo que
demandan o requieren los restantes elementos del sistema, los
más comunes cuellos de botellas, pueden ocurrir en algunas
de las siguientes áreas:
- Lentitud en discos o arreglos que no están
habilitados para responder a la demanda de
I/O en forma rápida. - El sistema esta necesitando mas capacidad de memoria,
así la aplicación se ve forzada a ir a disco (
swap) y en este caso la respuesta es mucho más lenta (
promedio ->memoria = 3
nanosegundos, disco = 17 milisegundos) - El sistema esta sobre la capacidad de(los) procesador(es).
- Las interfaces de red están saturadas
o sobre cargadas.
¿Cómo puede usted saber cuál de estos
elementos del sistema presenta un problema.
Para esto se pueden usar varias herramientas
para planificar como son: sar, netstat, lockstat y top
sar
sar es una herramienta principal para el administrador con
ella puede disponer de estadísticas pasadas y predecir las
demandas futuras. Para verificar que la herramienta sar esta
instalada en su sistema:
pkginfo -l SUNWaccu
Si no se encuentra instalada la herramienta sar, Ud., puede
adicionarla e instalar desde SUNWaccu.
Una vez instalada, debe configurar para iniciar la
colección de la información.
Edite en el sistema crontab:
crontab -e sys
Remueva los comentarios así tendrá las
siguientes líneas:
0 * * * 0-6 /usr/lib/sa/sa1
20,40
8-17 * * 1-5 /usr/lib/sa/sa1
5 18 *
* 1-5 /usr/lib/sa/sa2 -s 8:00 -e 18:01 -i 1200 -A
Entonces edite vi /etc/init.d/perf
Quite los comentarios abajo de "Uncomment the following
lines"
Este podría habilita el sistema sar para iniciar la
colección de información y reportar las actividades,
también se puede incrementar el tiempo de
retención del log de sar.
vi /usr/lib/sa/sa2
/usr/bin/find /var/adm/sa ( -name 'sar*' -o -name 'sa*' )
-mtime +30 -exec /usr/bin/rm {} ;
Una vez realizado lo anterior el sistema ya esta recolectando
información, para mayores detalles como se
usa edite man sar. He aquí una rápida lista
de opciones de SAR:
- sar ejecutada sin opción, muestra el uso
del CPU. - sar -q muestra el
promedio de tamaño de las colas. - sar -p y sar -g muestra la
actividad de paginas. - sar -d muestra la utilización de los
discos. - sar -f <filename> lee y guarda en el file, sar
-f /var/adm/sa/sa03
netstat
La herramienta sar no entrega estadísticas sobre él trafico de la
red, para esto se
usa netstat. netstat -in podría mostrar las
interfaces con la red y como esta su
utilización y si existen problemas
netstat
-in
Name Mtu Net/Dest
Address Ipkts Ierrs Opkts Oerrs Collis
Queue
hme1 1500 192.168.100.0
192.168.100.1 1477758588 0 2897473608 0
0 0
hme2
1500 192.168.101.0 192.168.101.1 3228181693 157415
3365694030 0 0 0
En este ejemplo , se puede visualizar que las interfaces hme1 y
hme2 están muy ocupados, en las interfaces hme2 existen
errores de "incoming errors" .
Lockstat
Con Solaris 2.6 o superior, SUN
incluye una utilidad llamada
lockstat la cual permite visualizar los locking causados en el
kernel, man lockstat esta disponible para mayor
información, he aquí un ejemplo de como usar:
lockstat sleep 30 >
/tmp/lock.out
more
/tmp/lock.out
"Callers" este
parámetro reflejando una cantidad mayor de lock puede ser
causa de problemas. Si
observa "hmestart" o "qfestart" y existen algunos kernel locks,
tal vez se necesite sumar otra interface en la red.
Top
top es una herramienta de snapshot en
tiempo real
donde se presenta que esta pasando con el sistema, con esta
herramienta se puede saber cuanta memoria esta
libre y como las aplicaciones y procesos
están usando el CPU o la
memoria.
2. ¿Dónde es la
Lentitud?
Usando algunas de las herramientas
como sar, netstat, y lockstat pueden ayudarlo a determinar donde
esta la lentitud y que esta sucediendo.
He aquí algunos ejemplos de cómo usar estas
herramientas:
Página siguiente |