GNU/Linux vs FreeBSD – ZFS
By: Date: julio 30, 2022 Categories: En la opinion de...

En uno de los grupos de telegram, me encontré con un comentario que decía que ZFS en FreeBSD es mucho más optimizado, lo que me hizo suficiente ruido, ya que no había pensado en la posibilidad de que ZFS en GNU/Linux estuviera mal implementado

Por lo que desde hace 15 días me he puesto a hacer laboratorios con ambos sistemas operativos , FreeBSD y GNU/Linux, para saber el rendimiento que un sistema de archivos como ZFS puede tener en uno u otro y saber de una buena vez si FreeBSD tiene una mejor implementación de ZFS

El campo de batalla

Una maquina con XEON de 4 núcleos, discos duros gobernados a 100 MB/S y 4 GB de RAM

Después de correr pruebas, tratando de emular escenarios reales y obtener básicamente los mismos resultados son obtenidos, decidí cerrar con una prueba simple, pero efectiva. Crear 1500 archivos secuenciales con un contenido al azar y todos ellos de 20Mbytes y luego leer los 1500 archivos y ver a que sistema operativo le toma mas tiempo hacerlo en ZFS

Este ha sido la única prueba donde conseguí una diferencia de…. Unos segundos por lo que técnicamente quedan empatados, la diferencia fue de escasos segundos.

El Script para crear archivos

while true
do
contador=echo $((contador+1))
dd if=/dev/urandom of=archivo$contador bs=1M count=20
if [ $contador -eq 1500 ]; then
exit
fi
done

FreeBSD

El tiempo de creación de 1,500 archivos es de 7:12 , son 7 minutos con 12 segundos, al momento de leer todo el contenido de los 1,500 archivos le toma 5:02

GNU/Linux

El tiempo de creación de 1,500 archivos es de 7:19 , con una diferencia de 5 segundos. Esta diferencia puede ser atribuida a la velocidad de generación de caracteres al azar que son los que pueblan el contenido de cada archivo de 20Mbytes, debido a que al momento de leer el contenido que encuentra en los archivos, toma exactamente 5:02 , el mismo tiempo que le tomó a FreeBSD leer los archivos.

Conclusión.

ZFS tiene el mismo rendimiento en GNU/Linux y en FreeBSD, pese a que en FreeBSD viene como parte del kernel y parte integrada del sistema operativo, mientras que en GNU/Linux , ZFS es un modulo externo por cuestiones de licencia que son incompatibles con la GPL

La postura de Linus Torvalds sobre implementar ZFS en el kernel de Linux


No use ZFS. Es así de simple. Siempre fue más una palabra de moda que cualquier otra cosa, creo, y los problemas de licencia simplemente hacen que no sea un comienzo para mí.

Las pruebas de rendimiento que he visto no hacen que ZFS se vea tan bien. Y hasta donde puedo decir, ya no tiene ningún mantenimiento real, así que, desde un punto de vista de estabilidad a largo plazo, ¿por qué querrías usarlo en primer lugar?”

¿ Que hay de los otros FS en GNU/Linux, cuanto tiempo le toma la misma prueba ?

En promedio el resto de FS les toma 2 minutos menos realizar la escritura de los 1,500 archivos, como puede quedar claro que ZFS es un sistema de archivos que protege la integridad de los archivos al costo de tiempo, es el FS mas lento en escritura. Incluso su rival mas cercano el BTRFS, que también mantiene integridad de datos y las mismas prestaciones que ZFS. Igualmente lo supera por 2 minutos, con un tiempo de 5:08

BTRFS si viene incluido en el Kernel de GNU/Linux y a diferencia de ZFS, es totalmente compatible a nivel legal, con licencia como de implementación, la ventaja que tiene BTRFS sobre ZFS puede ser el motivo por el cual Linus Torvalds pide no usar ZFS en GNU/Linux y expone que no tiene el mejor rendimiento, lo cual es cierto al compararlo con BTRFS

ext4

20971520 bytes (21 MB, 20 MiB) copied, 0.183353 s, 114 MB/s
20+0 registros leídos
20+0 registros escritos
20971520 bytes (21 MB, 20 MiB) copied, 0.208927 s, 100 MB/s

real 5m33.102s
user 0m1.357s
sys 2m16.155s
root@debianzfs:/mnt# time cat archivo* > /dev/null

real 5m3.153s
user 0m1.183s
sys 0m38.141s
root@debianzfs:/mnt#

XFS

20971520 bytes (21 MB, 20 MiB) copied, 0.198347 s, 106 MB/s
20+0 registros leídos
20+0 registros escritos
20971520 bytes (21 MB, 20 MiB) copied, 0.196828 s, 107 MB/s

real 4m56.039s
user 0m1.636s
sys 2m12.869s
root@debianzfs:/mnt# time cat archivo* > /dev/null

real 5m1.011s
user 0m1.158s
sys 0m38.693s

BRTFS

20971520 bytes (21 MB, 20 MiB) copied, 0.172453 s, 122 MB/s
20+0 registros leídos
20+0 registros escritos
20971520 bytes (21 MB, 20 MiB) copied, 0.218755 s, 95.9 MB/s

real 5m8.467s
user 0m1.249s
sys 2m10.495s
root@debianzfs:/mnt# time cat archivo* > /dev/null

real 5m1.042s
user 0m0.564s
sys 0m31.631s

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *