2010-05-10. Simple (write)speed-tests when making ext[34] filesystems on a pair of disks of a very-missing (2 data disks, no parity) raid6 array. 220MB tar of ~440MB gentoo portage tree mdadm --create /dev/md1 -c 16 -l 6 -n 4 /dev/sd[bc]3 missing missing time mkfs.ext3 -L system -b 4096 -E stride=2,stripe-width=4 -m 2 /dev/md0 mount -t ext3 -o rw,erroos=remount-ro,data=ordered,barrier=1,commit=4 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 25s + ~15-20s sync 24s + 16s second time (into subdir) umount dsk/ mount -t ext3 -o rw,errors=remount-ro,data=ordered,barrier=1,commit=60 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 57s + 23s sync !!! 20s + 14s second time umount dsk/ mount -t ext3 -o rw,errors=remount-ro,data=ordered,barrier=0,commit=60 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 20s + 18s 65s + 26s second time umount dsk/ mount -t ext3 -o rw,errors=remount-ro,data=writeback,barrier=1,commit=4 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 14s + 27s 13s + 21s second time umount dsk/ time mkfs.ext4 -L system -b 4096 -E stride=2,stripe-width=4 -m 2 /dev/md0 (took 9s) mount -t ext4 -o rw,errors=remount-ro,data=ordered,barrier=1,commit=4 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 7s + 9.5s 6s + 10s umount dsk/ mount -t ext4 -o rw,errors=remount-ro,data=writeback,barrier=1,commit=4 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 7s + 9s umount dsk/ mount -t ext4 -o rw,errors=remount-ro,data=journal,barrier=1,commit=4 /dev/md0 /mnt/dsk/ df -m . ; time tar -xf /root/z ; df -m . ; time sync 30s + 2s ----------------- Any conclusion? Only that ext4 has big advantages (at least for this writing-based small-file situation) over ext3, and that the barrier/commit/data options do little harm to performance apart from (obviously) data=journal. ----------------- mdadm --create /dev/md0 -c 16 -l 6 -n 4 /dev/sd[bc]2 missing missing mkfs.ext4 -L system -b 4096 -E stride=4,stripe-width=8 -m 2 /dev/md0 tune2fs -c0 -i0 /dev/md0 mount -t ext4 -o rw,errors=remount-ro,data=ordered,journal_checksum,barrier=1,stripe=8,commit=5 /dev/md0 /mnt/dsk/ mdadm --create /dev/md1 -c 16 -l 6 -n 4 /dev/sd[bc]3 missing missing mkfs.ext4 -L home -b 4096 -E stride=4,stripe-width=8 -m 2 /dev/md1 tune2fs -c0 -i0 /dev/md1 mount -t ext4 -o rw,errors=remount-ro,data=ordered,journal_checksum,barrier=1,stripe=8,commit=5 /dev/md1 /mnt/dsk/home/ mdadm --create /dev/md2 -c 64 -l 6 -n 4 /dev/sd[bc]4 missing missing mkfs.ext4 -L public -b 4096 -E stride=16,stripe-width=32 -m 2 /dev/md2 tune2fs -c0 -i0 /dev/md2 mount -t ext4 -o rw,errors=remount-ro,data=ordered,journal_checksum,barrier=1,stripe=32,commit=5 /dev/md1 /mnt/dsk/home/public