El Blog de over…

abril 14, 2007

Comparación de Sistemas de Archivos (ext3, reiser, xfs, jfs)

Filed under: ./linux — elblogdeover @ 7:21 pm

Existen varias comparaciones sobre sistemas de archivos de Linux disponibles, pero la mayoría de ellos son anécdotas, basadas en tareas artificiales o tareas completadas bajo kernel antiguos. Este benchmark es basado en el ensayo de 11 tareas reales apropiadas para un servidor de archivos con hardware de generación antigua (Pentium II/III, Disco Duro EIDE).

 

Porque otra prueba de benchmark ?

 

He encontrado 2 pruebas estudios benchmark cuantitativas y reproducibles usando el kernel 2.6.x (ver referencias). Benoit (2003) implementado 12 pruebas usando grades archivos (1+GB) en un server Pentium II 500 con 512Mb en RAM. Esta prueba era absolutamente informativa y mayormente aplicados con configuraciones el cual manipulaba exclusivamente grandes archivos (ejm. multimedia, base de datos).

 

Piszcz (2006) puso 21 tareas en ejecución que simulaban una variedad de operaciones de archivo en un PIII-500 con 768MB en RAM y un disco duro de 400GB EIDE-133. Hasta la fecha, ésta prueba parece ser el trabajo más comprensivo sobre el núcleo 2.6. Sin embargo, puesto que muchas tareas eran “artificiales” (e.g., copiar y quitar de 10 000 directorios vacíos, tocando 10 000 archivos, partiendo archivos recurrentemente), puede ser difícil transferir algunas conclusiones a los ajustes del mundo real.

 

Así, el objetivo de la presente prueba de benchmark es completar algunas de las conclusiones de Piszcz(2006), centrándose exclusivamente en las operaciones del mundo real encontradas en servidores de archivo de small-business (véase la descripción de las tareas).

 

Configuraciones de las pruebas

Hardware

  • Procesador: Intel Celeron 533

  • 512MB RAM PC100

  • Placa base: ASUS P2B

  • Disco Duro: WD Caviar SE 160GB (EIDE 100, 7200 RPM, 8MB Cache)

  • Controlador: PCI ATA/133.

OS

  • Debian Etch (núcleo 2.6.15), distribución actualizada al 18 de abril de 2006

  • Todos los demonios opcionales sin ejecutarse (cron, ssh, samba, los etc.)

Sistemas de Archivos

  • Ext3 (e2fsprogs 1.38)

  • ReiserFS (reiserfsprogs 1.3.6.19)

  • JFS (jfsutils 1.1.8)

  • XFS (xfsprogs 2.7.14)

Descripción de tareas seleccionadas

    Operaciones en un archivo grande (imagen ISO, 700MB)

  • Copia del ISO desde el segundo disco duro al disco duro de pruebas.

  • Recopiado del ISO a otra ubicación en el disco duro de pruebas.

  • Eliminar ambas coporas del ISO

    Operaciones en un árbol de archivos (7500 archivos, 900 directorios, 1.9GB)

  • Copiar el árbol de archivos desde el segundo disco al disco de pruebas.

  • Recopiado del árbol de directorios a otra ubicación en el disco duro de pruebas.

  • Eliminar ambas copias del árbol de archivos

    Operaciones en el árbol de archivos

  • Listar recurrentemente todo el contenido del árbol de archivos y guardarlo en el disco de pruebas

  • Buscar archivos haciendo matching por comodines específicos en el árbol de archivos

    Operaciones en el sistema de archivos

  • Creación del sistema de archivos (mkfs) (todo el SA fue creado con los valores por defecto)

  • Montaje del sistema de archivos

  • Desmontaje del sistema de archivos

La secuencia de las 11 tareas fue ejecutada como un BASH Script el cual fue ejecutado tres veces (se reporta el promedio). Cada secuencia lleva cerca de 7 Min. Tiempo para completar la tarea (en seg), porcentaje del CPU dedicado a la tarea tarea fue computada por GNU Time Utility (versión 1.7).

RESULTADOS

Capacidad de la partición

La inicial (después de la creación del sistema de archivos) y residual (después de eliminar todos los archivos) la capacidad de la partición eran computadas como el cociente del número de bloques disponibles por el número de bloques en la partición. Ext3 tiene la peor capacidad inicial (92.77%), mientras que los otros la capacidad era casi completa de la partición (ReiserFS = 99.83%, JFS = 99.82%, XFS = 99.95%). Interesante, la capacidad residual de Ext3 y ReiserFS eran idénticos a la inicial, mientras que JFS y XFS perdieron cerca de 0.02% de su capacidad de la partición, sugiriendo que este el sistema de archivo puede crecer dinámicamente pero no vuelve totalmente a su estado inicial (y tamaño) después de remover los archivos.
Conclusión: Para utilizar el máximo de su capacidad de la partición, elegir ReiserFS, JFS o XFS.

Creación, montaje y el desmontaje del sistema de archivos

La creación del sistema de archivos en la partición de prueba 20GB tomó:

Ext3 = 14.7 seg – 59% CPU

ReiserFS = 2.2 seg – 74% CPU

JFS = 1.3 seg – 74% CPU

XFS = 0.7 seg – 59% CPU

Para montar el sistema de archivos:

ReiserFS = 2.3 seg

Ext3 = 0.2 seg

JFS = 0.2 seg

XFS = 0.5 seg

Todos los sistemas de archivos tomaron entre un 6 y 9% de CPU para su montaje

ReiserFS también tomo el doble de tiempo para el desmontaje del sistema de archivos con un total de 0.4 seg, pero Ext3 y XFS tomaron mayor cantidad de CPU para desmontarse (34 y 45% respectivamente) comparables con los 14% de ReiserFS y 27% de JFS.
Conclusión: Para la creación rápida, el montaje/desmontaje del sistema de archivos, elegir JFS o XFS.

 

Operaciones en un archivo grande (imagen ISO, 700MB)

La copia inicial del archivo (en segundos):

Ext3 = 38.2

ReiserFS = 41.8

JFS = 35.1

XFS =34.8

Recopiar en el mismo disco (en segundos):

XFS = 33.1

Ext3 = 37.3

JFS = 39.4

ReiserFS = 43.9

Eliminación del archivo (en segundos):

JFS = 0.02

XFS = 0.02

ReiserFS = 1.5

Ext3 = 2.5

Todos los sistemas de archivos tomaron cantidades comparables de CPU para la copia (entre 46 y el 51%) y el recopiado (entre el 38% a el 50%). El ReiserFS utilizó el 49% de la CPU para eliminar la ISO, mientras los demás tomaron un 10%.
Conclusión: Para las operaciones rápidas en archivos grandes, elegir JFS o XFS. Si necesitas reducir al mínimo uso de la CPU, preferir JFS.

Operaciones en un árbol de archivos (7500 archivos, 900 directorios, 1.9GB)

La copia inicial del árbol (en segundos)

Ext3 = 158.3

XFS = 166.1

ReiserFS = 172.1

JFS = 180.1

Copiado del árbol de archivos a otra ubicación en el mismo disco duro (en segundos):

Ext3 = 120

XFS = 135.2

ReiserFS = 136.9

JFS = 151

Eliminación del árbol de archivos (en segundos):

Ext3 = 22

ReiserFS = 8.2

XFS = 10.5

JFS = 12.5

Todos los sistemas de archivos tomaron cantidades comparables de CPU para la copia inicial (entre 27 y el 36%) y copiar el árbol de archivos en otra ubicación (entre el 29% – JFS y el 45% – ReiserFS). Asombrosamente, el ReiserFS y el XFS usaron considerablemente más CPU para eliminar el árbol de archivos (el 86% y el 65%) mientras los demás tomaron 15% (Ext3 y JFS). Una vez más había una tendencia clara de JFS de utilizar menos CPU que cualquier otro sistema de archivos.

Conclusión: Para las operaciones rápidas en árbol de archivos grandes, elegir Ext3 o XFS.

Listado de directorios y búsquedas de archivos

El listado (recurrente) completo del directorio del árbol:

ReiserFS = 1.4 – 71% CPU

XFS = 1.8 – 70% CPU

Ext3 = 2.5 – 35% CPU

JFS = 3.1 – 35% CPU

búsqueda de archivos:

ReiserFS = 0.8 – 36% CPU

XFS = 2.8 – 10% CPU

Ext3 = 4.6 – 6% CPU

JFS = 5 – 6% CPU
Conclusión: Los resultados sugieren que, para estas tareas, los sistemas de archivos se puedan reagrupar como (a) rápidos y mas consumo de CPU (ReiserFS y XFS) o (b) más lento pero menos consumo de CPU (ext3 y JFS). XFS aparece como un buen compromiso, con resultados relativamente rápidos, el uso moderado de la CPU.

CONCLUSIÓN TOTAL

Estos resultados repliegan observaciones anteriores de Piszcz (2006) sobre la capacidad de disco reducida de Ext3, un tiempo más largo del montaje de ReiserFS y una creación más larga del FS de Ext3. Por otra parte, como este informe, ambas revisiones han observado que JFS es el de menor consumo de CPU. Finalmente.

Mientras que reconoce los méritos relativos de cada sistema de archivo, solamente un sistema de archivo puede ser instalado para cada partición/disco. De acuerdo con todas la pruebas realizadas para este ensayo de benchmark, XFS parece ser el sistema de archivo más apropiado a instalar en un servidor de archivo para las necesidades del hogar o de PYME.

El articulo original se encuentra en http://www.debian-administration.org/articles/388

Como un tip adicional les puedo comentar que he visto inconvenientes para que LILO o GRUB se pueda instalar en particiones XFS así que es recomendable crear una partición /boot de tipo Ext3.

1 comentario »

  1. Estupenda comparativa, pero adolece de ser sólo bajo Linux.

    Sería interesante ver los tiempos bajo Windows, aunque para ello haría falta algún driver para XFS y en la red no encuentro ninguno.

    El de Crossmeta creo que no me funciona; además no es exactamente lo que busco: algo parecido a Ext2Fsd, éste es para Ext2 / Ext3, pero el que busco es para XFS y no lo encuentro; algo raro dado que el Sistema XFS es OpenSource, si alguien sabe dónde que me lo diga, gracias.

    Por cierto el de Crossmeta se me instaló correctamente, me creó la unidad V:, pero intento el comando “V:\bin\>losetup loop1 d:\temp\test1.img” para probar sobre un fichero antes de intentar tocar la particion real que está en un diso y me da un error: “losetup: d:\temp\test1.img: No such file or directory”. Vale, creo el archivo, ¿pero con qué contenido y tamaño? porque si simplemente creo uno vacío o con contenido siempre me da este otro error: “losetup: /dev/loop: Permission denied” y de ahí no pasa, luego claro está no puedo hacer el “xfs_mkfs”.

    Gracias.

    Comentario por Anónimo — junio 3, 2008 @ 5:38 am


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: