Página siguiente Página anterior Índice general

6. Rendimiento

Esta sección contiene varias pruebas de evaluación de prestaciones (``benchmarks'') de un sistema del mundo real usando un RAID software.

Las evaluaciones se han realizado con el programa bonnie y todas las veces con ficheros dos o más veces más grandes que el tamaño de la RAM física de la máquina.

Estas evaluaciones sólo miden el ancho de banda de entrada y de salida sobre un único gran fichero. Esto es algo interesante de saber si uno está interesado en el máximo rendimiento de E/S para grandes lecturas/escrituras. Sin embargo, tales números nos dicen poco sobre cuál sería el rendimiento si el array se usara para un almacén temporal de noticias, un servidor web, etc. etc. Tenga siempre en cuenta que los números de las evaluaciones son el resultado de ejecutar un programa ``sintético''. Pocos programas del mundo real hacen lo que bonnie hace y, aunque es interesante mirar estos números de E/S, no son indicadores en última instancia del rendimiento de los dispositivos del mundo real.

Por ahora, sólo poseo resultados de mi propia máquina. La configuración es:

Los tres discos U2W cuelgan de la controladora U2W y el disco UW cuelga de la controladora UW.

Parece imposible sacar mucho más de 30 MB/s a través de los buses SCSI de este sistema, usando un RAID o no. Mi suposición es que, debido a que el sistema es bastante antiguo, el ancho de banda de la memoria lo fastidia y, por tanto, limita lo que se puede enviar a través de las controladoras SCSI.

6.1 RAID-0

Lectura significa entrada de bloques secuencial y Escritura significa salida de bloques secuencial. El tamaño de fichero fue de 1GB en todas las pruebas. Las pruebas se realizaron en modo monousuario. Se configuró el manejador SCSI para que no utilizara el encolamiento de órdenes etiquetadas (``tagged command queuing'', TCQ).

Tamaño de porción Tamaño de bloque Lectura KB/s Escritura KB/s
4k 1k 19712 18035
4k 4k 34048 27061
8k 1k 19301 18091
8k 4k 33920 27118
16k 1k 19330 18179
16k 2k 28161 23682
16k 4k 33990 27229
32k 1k 19251 18194
32k 4k 34071 26976

A partir de esto vemos que el tamaño de porción del RAID no importa mucho. Sin embargo, el tamaño de bloque del sistema de ficheros ext2 debería ser tan grande como fuera posible, lo cual significa 4KB (es decir, el tamaño de página) en una IA-32 (N.T.: arquitectura Intel de 32 bits).

6.2 RAID-0 con TCQ

Esta vez, el manejador SCSI se configuró para usar TCQ, con una longitud de cola de 8. Por lo demás, todo es lo mismo de antes.

Tamaño de porción Tamaño de bloque Lectura KB/s Escritura KB/s
32k 4k 33617 27215

No se realizaron más pruebas. TCQ pareció incrementar ligeramente el rendimiento de las escrituras, pero verdaderamente no hubo mucha diferencia en absoluto.

6.3 RAID-5

El array se configuró para funcionar en el modo RAID-5 y se hicieron pruebas similares.

Tamaño de porción Tamaño de bloque Lectura KB/s Escritura KB/s
8k 1k 11090 6874
8k 4k 13474 12229
32k 1k 11442 8291
32k 2k 16089 10926
32k 4k 18724 12627

Ahora, tanto el tamaño de porción como el tamaño de bloque parecen realmente significativos.

6.4 RAID-10

Un RAID-10 significa ``bandas duplicadas'' o un array RAID-1 de dos arrays RAID-0. El tamaño de porción es tanto el tamaño de las porciones del array RAID-1 como del array RAID-0. No realicé pruebas en las que esos tamaños de porción fueran diferentes, aunque esa debería ser una configuración perfectamente válida.

Tamaño de porción Tamaño de bloque Lecturas KB/s Escrituras KB/s
32k 1k 13753 11580
32k 4k 23432 22249

No se realizaron más pruebas. El tamaño de fichero fue de 900MB debido a que las cuatro particiones involucradas eran de 500 MB cada una, lo cual no deja espacio para un fichero de 1GB en esta configuración (RAID-1 sobre dos arrays de 1000MB).


Página siguiente Página anterior Índice general