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 sarsar 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/sa120,40 8-17 * * 1-5 /usr/lib/sa/sa15 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
netstatLa 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 -inName Mtu Net/Dest Address Ipkts Ierrs Opkts Oerrs Collis Queuehme1 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" .
LockstatCon 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.outmore /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.
Toptop 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 |