Comparatif des filesystems journalisés
Un article de Wiki SOS-ADMIN.
Sommaire |
Introduction
Voici un petit comparatif des filesystems journalisés que j'ai réalisé dans les conditions suivantes :
- serveur de test Athlon 1 GHz, RAM 512 Mo
- système Gentoo Linux 2005.1 sorti de boîte
- 2 disques IDE IBM 60 Go
Partitions
Tables de partition
Disk /dev/hda: 61.4 GB, 61492838400 bytes 16 heads, 63 sectors/track, 119150 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 63 31720+ 83 Linux /dev/hda2 64 1056 500472 82 Linux swap / Solaris /dev/hda3 1057 8807 3906504 83 Linux /dev/hda4 8808 119150 55612872 83 Linux
Disk /dev/hdc: 61.4 GB, 61492838400 bytes 16 heads, 63 sectors/track, 119150 cylinders Units = cylinders of 1008 * 512 = 516096 bytes Device Boot Start End Blocks Id System /dev/hdc1 * 1 507 255527+ 83 Linux /dev/hdc2 508 119150 59796072 5 Extended /dev/hdc5 508 1319 409247+ 82 Linux swap / Solaris /dev/hdc6 1320 7414 3071879+ 83 Linux /dev/hdc7 7415 39599 16221239+ 83 Linux /dev/hdc8 39600 79780 20251223+ 83 Linux /dev/hdc9 79781 119150 19842448+ 83 Linux
Points de montage
La partition testée est la /dev/hda4 (dans l'exemple ci-desous elle est montée en reiserfs)
/dev/hda3 / reiserfs rw,noatime 0 0 proc /proc proc rw 0 0 sysfs /sys sysfs rw 0 0 udev /dev tmpfs rw,nosuid 0 0 devpts /dev/pts devpts rw 0 0 /dev/hda1 /boot ext2 rw,noatime 0 0 /dev/hda4 /home reiserfs rw,noatime 0 0 none /dev/shm tmpfs rw,noexec,nosuid,nodev 0 0 usbfs /proc/bus/usb usbfs rw 0 0 /dev/hdc8 /mnt/disk/hdc8 reiserfs rw 0 0 /dev/hdc9 /mnt/disk/hdc9 reiserfs rw 0 0
Filesystems testés
Ont été testés les filesystems suivants :
- JFS : Journalized File System d'origine IBM (AIX)
- EXT3 : Evolution journalisée de ext2 le filesystem historique de Linux
- ReiserFS : Premier filesystem journalisé ayant été disponible sous Linux.
Nature des tests
Les tests réalisés ont consisté à faire :
- une copie par rsync des répertoires /mnt/disk/hdc8 et /mnt/disk/hdc9 sur /home/hdc8 et /home/hdc9
- une lecture par du des repertoires home/hdc8 et /home/hdc9
- une supression récursive des répertoires home/hdc8 et /home/hdc9
Les mesures de temps ont été réalisée avec time -p
Les commandes utilisées ont donc été :
- time -p rsync -a /mnt/disk/hdc8/ /home/hdc8/ et time -p rsync -a /mnt/disk/hdc9/ /home/hdc9/
- time -p du -ha /home/hdc et time -p du -ha /home/hdc9
- time -p rm -Rf /home/hdc8/* et time -p rm -Rf /home/hdc9/*
Les répertoires avaient pour caractéristiques :
- /mnt/disk/hdc8 : 15 Go de petits fichiers (html,doc,xls,exe..) avec arborescence profonde
- /mnt/disk/hdc9 : 16 Go de gros fichiers (video,mp3..) avec arborescence plate.
Tableau récapitulatif
| JFS | EXT3 | ReiserFS | |||||||||||
| opération | Type de fichiers | taille | real (s) | user (s) | sys (s) | real (s) | user (s) | sys (s) | real (s) | user (s) | sys (s) | ||
| copie | |||||||||||||
| petits fichiers | (html,doc,xls,exe..) | 15 Go | 16770,780 | 395,637 | 4649,111 | 16454,330 | 390,570 | 4568,860 | 16355,620 | 392,420 | 4556,300 | ||
time -p rsync -a /mnt/disk/hdc8/ /home/hdc8/ |
|||||||||||||
| gros fichiers | (video,mp3..) | 16 Go | 17152,361 | 436,299 | 6418,049 | 17286,470 | 428,710 | 6033,260 | 17277,900 | 424,360 | 5284,000 | ||
time -p rsync -a /mnt/disk/hdc9/ /home/hdc9/ |
|||||||||||||
| lecture répertoires | |||||||||||||
| petits fichiers | (html,doc,xls,exe..) | 15 Go | 20,315 | 0,548 | 1,152 | 19,530 | 0,540 | 1,250 | 16,450 | 0,470 | 1,420 | ||
time -p du -ha /home/hdc8 |
|||||||||||||
| gros fichiers | (video,mp3..) | 16 Go | 0,232 | 0,004 | 0,016 | 0,240 | 0,000 | 0,000 | 0,200 | 0,000 | 0,020 | ||
time -p du -ha /home/hdc9 |
|||||||||||||
| suppression répertoires | |||||||||||||
| petits fichiers | (html,doc,xls,exe..) | 15 Go | 272,919 | 0,344 | 73,337 | 129,890 | 0,160 | 12,570 | 74,140 | 0,320 | 49,490 | ||
time -p rm -Rf /home/hdc8/* |
|||||||||||||
| gros fichiers | (video,mp3..) | 16 Go | 2,299 | 0,000 | 0,656 | 42,970 | 0,000 | 6,530 | 40,290 | 0,000 | 29,590 | ||
time -p rm -Rf /home/hdc9/* |
|||||||||||||
| 34218,906 | 832,832 | 11142,321 | 33933,430 | 819,980 | 10622,470 | 33764,600 | 817,570 | 9920,820 | |||||
Conclusion
A la lecture du tableau récapitulatif, on peut se rendre compte que les trois filesystems sont très proches les uns des autres pour l'essentiel des mesures (en jaune).
Il y a quelques cas qui sortent de l'ordinaire :
- suppression très lente d'arborescence profonde pour JFS (en rouge)
- suppression très rapide d'arborescence plate pour JFS (en vert)
- lecture très rapide d'arborescence profonde pour ReiserFS (en vert)
- suppression très rapide d'arborescence profonde pour ReiserFS (en vert)
En résumé
Si l'on devait faire un classement, ce serait celui-ci :
- ReiserFS
- Ext3
- Jfs
Ces résultats semblent confirmer d'autres tests :
- Ext3 est bon dans tous les compartiments du jeu
- ReiserFS apporte un léger plus si aborescence profonde avec beaucoup de petits fichiers
- Jfs est un peu en dessous des autres.
Par contre les résultats sont différents en ce qui concerne la rapidité de création du filesystem et là le classement devient :
- Jfs
- ReiserFS
- Ext3
--BernardF 1 jan 2006 à 19:28 (CET)

