2.9.2.Rendimiento de los discos

Anuncio
2.9.2 Rendimiento de los discos duros
// Diseño, insertar la imagen del titiritero pero cambiar el computador por un
disco duro
La buena distribución de los archivos dentro de los discos duros es un factor de
importancia dentro del proceso de hacer a nuestro sistema operacional más
eficiente. Pero los elementos que se deben tener en cuenta para esta
distribución son más de uno. Analicemos el tema.
En primer lugar se debe tener en cuenta que los discos, si hay varios en un
sistema, están conectados a diferentes controladores. Todos conectados crean
la batería de discos del sistema y como todo lo que se conecta en cadena su
rendimiento global es la suma de los rendimientos de cada uno de sus
elementos por lo que es importante que los controladores y los discos
conectados tengan velocidades de acceso eficientes.
Un disco duro normal ofrece un acceso a los datos entre 1.5 y 3 megabytes por
segundo. Un disco conectado a un controlador scsi ofrece accesos hasta de 5
megabytes por segundo y un controlador scsi II llega hasta duplicar esta
velocidad de acceso. En resumen una buena combinación de controladores y
discos es el primer elemento que se debe considerar para garantizar un buen
rendimiento en los discos duros.
La distribución de los archivos, que es una decisión posterior a la instalación de
los discos y de los controladores, es otro tema de gran importancia. En la
medida en que los archivos estén distribuidos en discos diferentes, se asegura
un mejor rendimiento. Un especial énfasis se debe hacer en que ojalá el
sistema operacional esté colocado en disco diferente a los de los archivos de
las aplicaciones. Esto obedece al hecho que los archivos y programas del
sistema operacional están en permanente movimiento y naturalmente que las
cabezas de lectura y escritura del disco en donde este reside están sometidas
a movimientos aleatorios de gran intensidad. Si además de este trabajo deben
acceder los registros de los archivos de datos de las aplicaciones, la baja del
rendimiento del sistema sería un hecho.
Pero además de esto se debe planear muy cuidadosamente la ubicación real
de los archivos dentro de los discos. En este sentido los elementos que se
deben tener en cuenta son:

Mantener un nivel bajo de fragmentación de los discos. La
fragmentación se genera en la medida en que las aplicaciones van
borrando datos y creando nuevos y, por lo tanto, los espacios libres
dentro del disco se van extendiendo a través de la superficie del
dispositivo creando la necesidad de que las cabezas de los discos se
tengan que extender cada vez más en accesos separados el uno del
otro. La solución es mantener procesos de fragmentación.

Diseñar la creación de archivos secuenciales dentro de los discos. Es
decir, que la secuencia lógica de los datos concuerde, lo más posible,
con la secuencia física dentro del disco.

Y por último, tratar que los archivos de alta frecuencia de acceso estén
lo más cercano del centro físico de los discos, de tal manera que las
extensiones de movimiento de las cabezas sea las menores posibles.
Un movimiento de una cabeza de un disco se denomina seek.
Uso del espacio dentro de un disco
Tal vez lo primero que uno se pregunta cuando se trate de monitorear el uso
del espacio en disco es cuánto espacio libre tenemos. Para ello existe el
comando df. Veamos un ejemplo de él:
# df
S.ficheros
Bloques de 1K Usado Dispon Uso% Montado en
/dev/hdc2
19840924
7590412 11226372 41% /
/dev/shm
225340
0
225340
0% /dev/shm
/dev/hda8
8617836
7938484 241584 98% /media/rh9
/dev/hdc1
20161172
12526372 6610660 66%
/media/fedora3
Lo que nos dice este comando de la partición /dev/hdc2, por ejemplo, es que
contiene en total 19840924 bytes de los cuales se usan 7590412 y se tienen
11226372 libres por lo cual se está utilizando el 41% del disco y que está
colocado en el sistema de archivos /.
El comando tiene muchos parámetros con los cuales se puede ejecutar, como
se puede investigar en el manual de Linux: man df.
Existen, sin embargo, algunos parámetros importantes como -i para ver cómo
está el disco desde el punto de vista de inodos.
El concepto de los inodos tiene que ver con la manera como el disco es
presentado a la aplicación que está usando un archivo. El sistema maneja tres
elementos para esto que son: la Tabla de descripción de archivos del usuario,
la Tabla de los archivos y la Tabla de los inodos.
La Tabla de descripción de archivos del usuario contiene los nombres de los
archivos que están abiertos en un momento dado. Ella tiene por cada archivo
un apuntador a la Tabla de archivos la cual apunta a los sitios en donde se van
a llevar a cabo los subsiguientes procesos de lectura o escritura así como el
manejo de la información referente a los permisos que el usuario tiene sobre
esos archivos.
La Tabla de los inodos contiene información sobre el usuario y los grupos que
pueden acceder a un archivo, el tipo de archivo, los permisos de acceso,
fechas de los accesos anteriores, número de encadenamientos de un archivo,
tabla de contenido de los sitios físicos del disco en donde están los registros de
los archivos, controlando por grupos de bytes llamados bloques que
usualmente son múltiplos de 512 bytes y tamaño del archivo.
Un archivo puede estar distribuido dentro de muchos bloques no contiguos de
un disco duro. La tabla de inodos es la encargada de mantener esta
información al día. Pues bien. El comando df -i nos proporciona información
sobre cómo es que un archivo está conformado desde el punto de vista de los
inodos. Veamos un ejemplo:
# df -i
S.ficheros
/dev/hdc2
/dev/shm
/dev/hda8
/dev/hdc1
Nodos-i NUsados NLibres NUso% Montado en
5124480 291144 4833336 6% /
56335
1
56334
1% /dev/shm
1095584 360572 735012 33% /media/rh9
2562240 501599 2060641 20% /media/fedora3
El listado nos muestra que la partición /dev/hdc2, por ejemplo, usa 5124480
inodos de los cuales está usando 291144 que es el 6% del total y tiene libres
4833336. La partición está montada en /.
El comando du provee información sobre el espacio usado por los diferentes
archivos o directorios. Por ejemplo para conocer cuánto espacio en Kbytes usa
el archivo /etc/passwd se usa así:
# du /etc/passwd
8
/etc/passwd
Así mismo se le puede solicitar que nos de el espacio usado por todos los
archivos del directorio /etc: du /etc mostrará a cada archivo con el espacio
usado.
Descargar