Benchmark ext3/ext4/jfs/reiserfs/vfat/ntfs
8 Gennaio 2009giusto giusto per provare questo nuovo ext4
. . allora, ho eseguito il bench sulla mia / in jfs, la /var in reiser e la /mnt/dati in ext4, più altre 3 partizioni create per l’occasione in ext3, vfat e ntfs . . . tutte partizioni da qualche G, piene per circa metà (quindi spazio libero, ma filesystem un pò usato
) tranne chiaramente quelle create apposta . . mi sono fatto uno scriptino per il test, come campione ho usato il database di portage ( . . ~500MB . . contiene ebuild+changelog+patch+metadata . . file plaintext relativamente piccoli . . ) . . i test eseguiti sono:
scrittura: cp da tmpfs al filesystem
ricerca: find
lettura: cp dal filesystem a tmpfs
cancellazione: rm -r
l’hardware è il mio flybook, procio core duo 1,2G, disco ide lentone da 10MB/s circa sia in lettura che in scrittura . .
ovviamente ho rilasciato la cache prima di ogni test
ecco i risultati
using /usr/portage/ as bench dir
write on jfs
Command being timed: “cp”
Percent of CPU this job got: 6% - 7%
Elapsed (wall clock) time (h:mm:ss or m:ss): 4:10.26 - 3:24.94
search on jfs
Command being timed: “find”
Percent of CPU this job got: 2% - 2%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:30.38 - 1:08.84
read on jfs
Command being timed: “cp”
Percent of CPU this job got: 3% - 3%
Elapsed (wall clock) time (h:mm:ss or m:ss): 10:32.29 - 9:10.30
delete on jfs
Command being timed: “rm”
Percent of CPU this job got: 2% - 2%
Elapsed (wall clock) time (h:mm:ss or m:ss): 4:23.03 - 4:17.42
write on ext4
Command being timed: “cp”
Percent of CPU this job got: 20% - 20%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:57.35 - 0:56.43
search on ext4
Command being timed: “find”
Percent of CPU this job got: 3% - 3%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:39.35 - 1:39.20
read on ext4
Command being timed: “cp”
Percent of CPU this job got: 4% - 4%
Elapsed (wall clock) time (h:mm:ss or m:ss): 9:42.72 - 9:34.66
delete on ext4
Command being timed: “rm”
Percent of CPU this job got: 10% - 10%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:52.65 - 1:52.42
write on reiserfs
Command being timed: “cp”
Percent of CPU this job got: 37% - 38%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:58.09 - 0:57.56
search on reiserfs
Command being timed: “find”
Percent of CPU this job got: 6% - 5%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:48.42 - 0:50.49
read on reiserfs
Command being timed: “cp”
Percent of CPU this job got: 10% - 10%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:43.80 - 2:30.52
delete on reiserfs
Command being timed: “rm”
Percent of CPU this job got: 22% - 24%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:15.98 - 1:06.86
write on ext3
Command being timed: “cp”
Percent of CPU this job got: 11% - 11%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:55.51 - 1:53.54
search on ext3
Command being timed: “find”
Percent of CPU this job got: 2% - 2%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:48.76 - 3:11.51
read on ext3
Command being timed: “cp”
Percent of CPU this job got: 6% - 6%
Elapsed (wall clock) time (h:mm:ss or m:ss): 6:48.77 - 7:10.74
delete on ext3
Command being timed: “rm”
Percent of CPU this job got: 4% - 4%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:47.00 - 3:54.92
write on vfat
Command exited with non-zero status 1
Command being timed: “cp”
Percent of CPU this job got: 24% - 23%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:59.87 - 3:02.84
search on vfat
Command being timed: “find”
Percent of CPU this job got: 17% - 17%
Elapsed (wall clock) time (h:mm:ss or m:ss): 0:43.54 - 0:42.15
read on vfat
Command being timed: “cp ”
Percent of CPU this job got: 37% - 39%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:13.92 - 1:11.16
delete on /tmp/vfatvol/
Command being timed: “rm”
Percent of CPU this job got: 45% - 45%
Elapsed (wall clock) time (h:mm:ss or m:ss): 1:44.44 - 1:47.17
write on ntfs
Command being timed: “cp”
Percent of CPU this job got: 6% - 6%
Elapsed (wall clock) time (h:mm:ss or m:ss): 2:29.75 - 2:51.31
search on ntfs
Command being timed: “find”
Percent of CPU this job got: 1% - 1%
Elapsed (wall clock) time (h:mm:ss or m:ss): 3:24.01 - 3:22.35
read on ntfs
Command being timed: “cp”
Percent of CPU this job got: 2% - 2%
Elapsed (wall clock) time (h:mm:ss or m:ss): 18:20.98 - 18:21.77
delete on ntfs
Command being timed: “rm”
Percent of CPU this job got: 2% - 2%
Elapsed (wall clock) time (h:mm:ss or m:ss): 4:39.87 -
ovviamente i risultati hanno un valore puramente comparativo
comunque ecco qualche considerazione: ext4 sembra avere velocità in lettura simili a quelle di jfs, ma performance in scrittura decisamente più alte . . . e reiser brucia tutti, soprattutto in lettura . . ext3 rispetto a jfs e ext4 è leggermente più veloce in lettura, ma lento in search rispetto a entrambi, e più lento di ext4 in scrittura/cancellazione . . anche vfat è piuttosto veloce in lettura/ricerca, meno in scrittura/cancellazione . . ma soprattutto dà problemi con file con simboli nel nome, e in generale è molto meno potente ed evoluto degli altri fs . . infine ntfs (via ntfs-3g) ha dei tempi accettabili considerando che è frutto di reverse-engeneering, comunque sempre almeno doppi rispetto a ext4 . . .
a presto qualche bench sugli altri fs e con file più grossi
ps: per chi vuole, lo scriptino che ho usato per il bench è qui: www.webalice.it/dafraele/download/bench.sh