Linux 3.4 Kernel File-Systems - XFS, Btrfs, EXT4 Benchmarks of the EXT4, Btrfs, XFS file-systems on an Intel SSD under Ubuntu 12.04 LTS x86_64. Benchmarking of the Btrfs/XFS/EXT4 file-systems with the Linux 3.2, Linux 3.3, and Linux 3.4 development kernels. Testing for a future article on Phoronix.
HTML result view exported from: https://openbenchmarking.org/result/1206088-BY-1205299SU76&sor&grw .
Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution EXT4 Btrfs XFS Btrfs Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ Intel Core i5-2520M @ 2.50GHz (4 Cores) HP 161C Intel 2nd Generation Core Family DRAM 1 x 4096 MB DDR3-1333MHz 160GB INTEL SSDSA2M160 Intel Sandybridge Mobile (GT2+) (1300MHz) IDT 92HD81B1X5 Intel 82579LM Gigabit Connection + Intel Centrino Advanced-N 6205 Ubuntu 12.04 3.2.0-030200-generic (x86_64) Unity 5.10.0 X Server 1.11.3 intel 2.17.0 3.0 Mesa 8.0.2 GCC 4.6 ext4 1600x900 3.3.0-030300-generic (x86_64) 3.4.0-999-generic (x86_64) 3.2.0-030200-generic (x86_64) btrfs 3.3.0-030300-generic (x86_64) 3.4.0-999-generic (x86_64) 3.2.0-030200-generic (x86_64) xfs 3.3.0-030300-generic (x86_64) 3.4.0-999-generic (x86_64) Intel Xeon E31230 @ 3.20GHz (8 Cores) Supermicro X9SCL/X9SCM Intel Xeon E3-1200 Family DRAM 2 x 4096 MB DDR3-1333MHz 20 x 3001GB Western Digital WD30EZRX-00M + 160GB Seagate ST9160314AS + 320GB Western Digital WD3200AAKX-0 Matrox s MGA G200eW WPCM450 Intel 82579LM Gigabit Connection Debian Linux Wheezy/sid 3.4.0 (x86_64) btrfs OpenBenchmarking.org Compiler Details - EXT4: Linux 3.2: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - EXT4: Linux 3.3: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - EXT4: Linux 3.4 Git: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - Btrfs: Linux 3.2: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - Btrfs: Linux 3.3: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - Btrfs: Linux 3.4 Git: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - XFS: Linux 3.2: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - XFS: Linux 3.3: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - XFS: Linux 3.4 Git: --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v - Btrfs: Linux 3.4 UZ: --build=x86_64-linux-gnu --enable-checking=release --enable-clocale=gnu --enable-languages=c,c++,fortran,objc,obj-c++,go --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i586 --with-tune=generic -v Disk Details - EXT4: Linux 3.2: CFQ / barrier=1,data=ordered,errors=remount-ro,relatime,rw,user_xattr - EXT4: Linux 3.3: CFQ / barrier=1,data=ordered,errors=remount-ro,relatime,rw,user_xattr - EXT4: Linux 3.4 Git: CFQ / data=ordered,errors=remount-ro,relatime,rw - Btrfs: Linux 3.2: CFQ / nospace_cache,relatime,rw,ssd - Btrfs: Linux 3.3: CFQ / nospace_cache,relatime,rw,ssd - Btrfs: Linux 3.4 Git: CFQ / nospace_cache,relatime,rw,ssd - XFS: Linux 3.2: CFQ / attr2,delaylog,noquota,relatime,rw - XFS: Linux 3.3: CFQ / attr2,noquota,relatime,rw - XFS: Linux 3.4 Git: CFQ / attr2,noquota,relatime,rw - Btrfs: Linux 3.4 UZ: CFQ / attr2,noquota,relatime,rw Processor Details - EXT4: Linux 3.2, EXT4: Linux 3.3, EXT4: Linux 3.4 Git, Btrfs: Linux 3.2, Btrfs: Linux 3.3, Btrfs: Linux 3.4 Git, XFS: Linux 3.2, XFS: Linux 3.3, XFS: Linux 3.4 Git: Scaling Governor: ondemand System Details - EXT4: Linux 3.2: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - EXT4: Linux 3.3: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - EXT4: Linux 3.4 Git: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - Btrfs: Linux 3.2: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - Btrfs: Linux 3.3: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - Btrfs: Linux 3.4 Git: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - XFS: Linux 3.2: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - XFS: Linux 3.3: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - XFS: Linux 3.4 Git: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - Btrfs: Linux 3.4 UZ: Disk Scheduler: CFQ. Python 2.7.3rc2.
compilebench: Initial Create tiobench: Rand Write - 64MB - 8 compilebench: Compile dbench: 1 fs-mark: 1000 Files, 1MB Size fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size iozone: 1MB - 8GB - Read Performance iozone: 4Kb - 8GB - Read Performance iozone: 1MB - 8GB - Write Performance iozone: 4Kb - 8GB - Write Performance iozone: 64Kb - 8GB - Read Performance iozone: 64Kb - 8GB - Write Performance apache: Static Web Page Serving EXT4 Btrfs XFS Btrfs Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 98.45 90.01 106.70 192.85 90.27 78.47 233.55 254.77 100.49 100.34 254.79 100.53 20805.20 94.77 89.54 105.64 207.46 85.60 76.70 254.87 254.75 100.39 100.41 254.73 100.57 19441.75 98.94 89.14 104.86 208.52 85.30 75.67 254.70 254.80 99.20 100.02 254.69 100.54 20564.77 58.81 89.65 105.88 161.31 73.87 62.77 223.99 225.68 99.34 99.07 225.13 99.22 19169.14 53.95 88.56 106.34 173.53 82.70 63.30 223.83 223.65 99.45 99.37 224.78 99.50 18619.55 51.92 91.82 104.89 164.40 66.53 60.47 231.21 226.75 98.86 98.98 232.12 99.28 19679.58 87.26 87.26 104.77 159.11 90.57 81.60 205.67 242.41 101.22 100.98 242.91 101.35 19672.22 89.43 87.66 102.73 169.94 84.65 81.50 237.01 240.18 101.86 101.62 239.49 102.14 18854.75 74.78 78.32 95.42 165.05 86.90 79.07 238.77 239.47 100.83 96.41 183.02 99.69 19964.00 171.57 55.48 379.63 4.51 9.40 9.53 136.96 137.40 165.84 165.13 135.25 163.20 29171.23 OpenBenchmarking.org
Compile Bench Test: Initial Create Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create Linux 3.4 UZ Linux 3.4 Git Linux 3.2 Linux 3.3 40 80 120 160 200 SE +/- 3.21, N = 3 SE +/- 0.49, N = 3 SE +/- 0.22, N = 3 SE +/- 1.34, N = 3 SE +/- 2.26, N = 3 SE +/- 1.35, N = 3 SE +/- 5.02, N = 3 SE +/- 4.10, N = 3 SE +/- 0.70, N = 3 SE +/- 5.26, N = 3 171.57 58.81 53.95 51.92 98.94 98.45 94.77 89.43 87.26 74.78
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 UZ 20 40 60 80 100 SE +/- 0.96, N = 4 SE +/- 1.66, N = 8 SE +/- 1.66, N = 8 SE +/- 3.11, N = 8 SE +/- 0.20, N = 4 SE +/- 0.42, N = 4 SE +/- 0.73, N = 4 SE +/- 0.39, N = 4 SE +/- 0.56, N = 4 SE +/- 10.03, N = 8 91.82 89.65 88.56 55.48 90.01 89.54 89.14 87.66 87.26 78.32
Compile Bench Test: Compile Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile Linux 3.4 UZ Linux 3.2 Linux 3.3 Linux 3.4 Git 80 160 240 320 400 SE +/- 0.87, N = 3 SE +/- 0.21, N = 3 SE +/- 0.55, N = 3 SE +/- 0.98, N = 3 SE +/- 1.22, N = 3 SE +/- 0.67, N = 3 SE +/- 1.24, N = 3 SE +/- 0.61, N = 3 SE +/- 1.45, N = 3 SE +/- 1.85, N = 3 379.63 106.34 105.88 104.89 106.70 105.64 104.86 104.77 102.73 95.42
Dbench Client Count: 1 EXT4 Btrfs XFS OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 1 Linux 3.4 Git Linux 3.3 Linux 3.2 Linux 3.4 UZ 50 100 150 200 250 SE +/- 0.11, N = 3 SE +/- 0.05, N = 3 SE +/- 1.17, N = 3 SE +/- 0.13, N = 3 SE +/- 0.32, N = 3 SE +/- 0.29, N = 3 SE +/- 0.02, N = 3 SE +/- 0.30, N = 3 SE +/- 0.22, N = 3 SE +/- 0.50, N = 3 208.52 207.46 192.85 173.53 164.40 161.31 4.51 169.94 165.05 159.11 1. (CC) gcc options: -lpopt
FS-Mark Test: 1000 Files, 1MB Size XFS EXT4 Btrfs OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size Linux 3.2 Linux 3.4 Git Linux 3.3 Linux 3.4 UZ 20 40 60 80 100 SE +/- 0.55, N = 3 SE +/- 1.48, N = 3 SE +/- 1.35, N = 6 SE +/- 0.92, N = 3 SE +/- 0.89, N = 3 SE +/- 1.47, N = 3 SE +/- 1.40, N = 3 SE +/- 4.63, N = 6 SE +/- 3.66, N = 6 SE +/- 0.10, N = 3 90.57 86.90 84.65 90.27 85.60 85.30 82.70 73.87 66.53 9.40 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size XFS EXT4 Btrfs OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 20 40 60 80 100 SE +/- 0.64, N = 3 SE +/- 0.65, N = 3 SE +/- 1.16, N = 3 SE +/- 0.54, N = 3 SE +/- 0.06, N = 3 SE +/- 0.20, N = 3 SE +/- 0.99, N = 6 SE +/- 0.37, N = 3 SE +/- 0.15, N = 3 SE +/- 0.09, N = 3 81.60 81.50 79.07 78.47 76.70 75.67 63.30 62.77 60.47 9.53 1. (CC) gcc options: -static
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Read Performance EXT4 XFS Btrfs OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 1MB - File Size: 8GB - Disk Test: Read Performance Linux 3.3 Linux 3.4 Git Linux 3.2 Linux 3.4 UZ 60 120 180 240 300 SE +/- 0.04, N = 3 SE +/- 0.10, N = 3 SE +/- 3.53, N = 6 SE +/- 0.91, N = 3 SE +/- 1.27, N = 3 SE +/- 1.27, N = 3 SE +/- 4.22, N = 3 SE +/- 1.77, N = 3 SE +/- 1.66, N = 3 SE +/- 0.92, N = 3 254.87 254.70 233.55 238.77 237.01 205.67 231.21 223.99 223.83 136.96 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Read Performance EXT4 XFS Btrfs OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Read Performance Linux 3.4 Git Linux 3.2 Linux 3.3 Linux 3.4 UZ 60 120 180 240 300 SE +/- 0.00, N = 3 SE +/- 0.02, N = 3 SE +/- 0.05, N = 3 SE +/- 3.51, N = 3 SE +/- 1.53, N = 3 SE +/- 0.69, N = 3 SE +/- 1.71, N = 3 SE +/- 0.44, N = 3 SE +/- 0.23, N = 3 SE +/- 2.54, N = 3 254.80 254.77 254.75 242.41 240.18 239.47 226.75 225.68 223.65 137.40 1. (CC) gcc options: -O3
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance Btrfs XFS EXT4 OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance Linux 3.4 UZ Linux 3.3 Linux 3.2 Linux 3.4 Git 40 80 120 160 200 SE +/- 3.03, N = 6 SE +/- 0.08, N = 3 SE +/- 0.21, N = 3 SE +/- 0.19, N = 3 SE +/- 0.37, N = 3 SE +/- 0.31, N = 3 SE +/- 1.28, N = 3 SE +/- 0.15, N = 3 SE +/- 0.07, N = 3 SE +/- 1.07, N = 3 165.84 99.45 99.34 98.86 101.86 101.22 100.83 100.49 100.39 99.20 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance Btrfs XFS EXT4 OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance Linux 3.4 UZ Linux 3.3 Linux 3.2 Linux 3.4 Git 40 80 120 160 200 SE +/- 1.33, N = 3 SE +/- 0.06, N = 3 SE +/- 0.23, N = 3 SE +/- 0.19, N = 3 SE +/- 0.52, N = 3 SE +/- 0.69, N = 3 SE +/- 1.46, N = 3 SE +/- 0.11, N = 3 SE +/- 0.14, N = 3 SE +/- 0.06, N = 3 165.13 99.37 99.07 98.98 101.62 100.98 96.41 100.41 100.34 100.02 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance EXT4 XFS Btrfs OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 60 120 180 240 300 SE +/- 0.04, N = 3 SE +/- 0.05, N = 3 SE +/- 0.06, N = 3 SE +/- 2.52, N = 3 SE +/- 2.75, N = 3 SE +/- 4.39, N = 6 SE +/- 3.95, N = 6 SE +/- 0.51, N = 3 SE +/- 0.56, N = 3 SE +/- 0.49, N = 3 254.79 254.73 254.69 242.91 239.49 183.02 232.12 225.13 224.78 135.25 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Btrfs XFS EXT4 OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Linux 3.4 UZ Linux 3.3 Linux 3.2 Linux 3.4 Git 40 80 120 160 200 SE +/- 2.57, N = 3 SE +/- 0.14, N = 3 SE +/- 0.18, N = 3 SE +/- 0.22, N = 3 SE +/- 0.11, N = 3 SE +/- 0.67, N = 3 SE +/- 0.49, N = 3 SE +/- 0.25, N = 3 SE +/- 0.06, N = 3 SE +/- 0.10, N = 3 163.20 99.50 99.28 99.22 102.14 101.35 99.69 100.57 100.54 100.53 1. (CC) gcc options: -O3
Apache Benchmark Static Web Page Serving Btrfs EXT4 XFS OpenBenchmarking.org Requests Per Second, More Is Better Apache Benchmark 2.2.21 Static Web Page Serving Linux 3.4 UZ Linux 3.2 Linux 3.4 Git Linux 3.3 6K 12K 18K 24K 30K SE +/- 516.29, N = 3 SE +/- 83.92, N = 3 SE +/- 102.51, N = 3 SE +/- 59.43, N = 3 SE +/- 231.67, N = 3 SE +/- 84.10, N = 3 SE +/- 354.48, N = 3 SE +/- 77.92, N = 3 SE +/- 60.20, N = 3 SE +/- 99.43, N = 3 29171.23 19679.58 19169.14 18619.55 20805.20 20564.77 19441.75 19964.00 19672.22 18854.75 1. (CC) gcc options: -O2 -pthread -lm -lrt -lcrypt -lpthread -ldl
Phoronix Test Suite v10.8.5