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&grt&sro .
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.
apache: Static Web Page Serving compilebench: Compile compilebench: Initial Create 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 tiobench: Rand Write - 64MB - 8 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 20805.20 106.70 98.45 192.85 90.27 78.47 233.55 254.77 100.49 100.34 254.79 100.53 90.01 19441.75 105.64 94.77 207.46 85.60 76.70 254.87 254.75 100.39 100.41 254.73 100.57 89.54 20564.77 104.86 98.94 208.52 85.30 75.67 254.70 254.80 99.20 100.02 254.69 100.54 89.14 19169.14 105.88 58.81 161.31 73.87 62.77 223.99 225.68 99.34 99.07 225.13 99.22 89.65 18619.55 106.34 53.95 173.53 82.70 63.30 223.83 223.65 99.45 99.37 224.78 99.50 88.56 19679.58 104.89 51.92 164.40 66.53 60.47 231.21 226.75 98.86 98.98 232.12 99.28 91.82 19672.22 104.77 87.26 159.11 90.57 81.60 205.67 242.41 101.22 100.98 242.91 101.35 87.26 18854.75 102.73 89.43 169.94 84.65 81.50 237.01 240.18 101.86 101.62 239.49 102.14 87.66 19964.00 95.42 74.78 165.05 86.90 79.07 238.77 239.47 100.83 96.41 183.02 99.69 78.32 29171.23 379.63 171.57 4.51 9.40 9.53 136.96 137.40 165.84 165.13 135.25 163.20 55.48 OpenBenchmarking.org
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.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 6K 12K 18K 24K 30K SE +/- 102.51, N = 3 SE +/- 59.43, N = 3 SE +/- 83.92, N = 3 SE +/- 516.29, N = 3 SE +/- 231.67, N = 3 SE +/- 354.48, N = 3 SE +/- 84.10, N = 3 SE +/- 60.20, N = 3 SE +/- 99.43, N = 3 SE +/- 77.92, N = 3 19169.14 18619.55 19679.58 29171.23 20805.20 19441.75 20564.77 19672.22 18854.75 19964.00 1. (CC) gcc options: -O2 -pthread -lm -lrt -lcrypt -lpthread -ldl
Compile Bench Test: Compile Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 80 160 240 320 400 SE +/- 0.55, N = 3 SE +/- 0.21, N = 3 SE +/- 0.98, N = 3 SE +/- 0.87, 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 105.88 106.34 104.89 379.63 106.70 105.64 104.86 104.77 102.73 95.42
Compile Bench Test: Initial Create Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 40 80 120 160 200 SE +/- 0.49, N = 3 SE +/- 0.22, N = 3 SE +/- 1.34, N = 3 SE +/- 3.21, N = 3 SE +/- 1.35, N = 3 SE +/- 5.02, N = 3 SE +/- 2.26, N = 3 SE +/- 0.70, N = 3 SE +/- 4.10, N = 3 SE +/- 5.26, N = 3 58.81 53.95 51.92 171.57 98.45 94.77 98.94 87.26 89.43 74.78
Dbench Client Count: 1 Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 1 Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 50 100 150 200 250 SE +/- 0.29, N = 3 SE +/- 0.13, N = 3 SE +/- 0.32, N = 3 SE +/- 0.02, N = 3 SE +/- 1.17, N = 3 SE +/- 0.05, N = 3 SE +/- 0.11, N = 3 SE +/- 0.50, N = 3 SE +/- 0.30, N = 3 SE +/- 0.22, N = 3 161.31 173.53 164.40 4.51 192.85 207.46 208.52 159.11 169.94 165.05 1. (CC) gcc options: -lpopt
FS-Mark Test: 1000 Files, 1MB Size Btrfs EXT4 XFS OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 20 40 60 80 100 SE +/- 4.63, N = 6 SE +/- 1.40, N = 3 SE +/- 3.66, N = 6 SE +/- 0.10, N = 3 SE +/- 0.92, N = 3 SE +/- 0.89, N = 3 SE +/- 1.47, N = 3 SE +/- 0.55, N = 3 SE +/- 1.35, N = 6 SE +/- 1.48, N = 3 73.87 82.70 66.53 9.40 90.27 85.60 85.30 90.57 84.65 86.90 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size Btrfs EXT4 XFS 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.37, N = 3 SE +/- 0.99, N = 6 SE +/- 0.15, N = 3 SE +/- 0.09, N = 3 SE +/- 0.54, N = 3 SE +/- 0.06, N = 3 SE +/- 0.20, N = 3 SE +/- 0.64, N = 3 SE +/- 0.65, N = 3 SE +/- 1.16, N = 3 62.77 63.30 60.47 9.53 78.47 76.70 75.67 81.60 81.50 79.07 1. (CC) gcc options: -static
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Read Performance Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 1MB - 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 +/- 1.77, N = 3 SE +/- 1.66, N = 3 SE +/- 4.22, N = 3 SE +/- 0.92, N = 3 SE +/- 3.53, N = 6 SE +/- 0.04, N = 3 SE +/- 0.10, N = 3 SE +/- 1.27, N = 3 SE +/- 1.27, N = 3 SE +/- 0.91, N = 3 223.99 223.83 231.21 136.96 233.55 254.87 254.70 205.67 237.01 238.77 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Read Performance Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - 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.44, N = 3 SE +/- 0.23, N = 3 SE +/- 1.71, N = 3 SE +/- 2.54, N = 3 SE +/- 0.02, N = 3 SE +/- 0.05, N = 3 SE +/- 0.00, N = 3 SE +/- 3.51, N = 3 SE +/- 1.53, N = 3 SE +/- 0.69, N = 3 225.68 223.65 226.75 137.40 254.77 254.75 254.80 242.41 240.18 239.47 1. (CC) gcc options: -O3
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 40 80 120 160 200 SE +/- 0.21, N = 3 SE +/- 0.08, N = 3 SE +/- 0.19, N = 3 SE +/- 3.03, N = 6 SE +/- 0.15, N = 3 SE +/- 0.07, N = 3 SE +/- 1.07, N = 3 SE +/- 0.31, N = 3 SE +/- 0.37, N = 3 SE +/- 1.28, N = 3 99.34 99.45 98.86 165.84 100.49 100.39 99.20 101.22 101.86 100.83 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 40 80 120 160 200 SE +/- 0.23, N = 3 SE +/- 0.06, N = 3 SE +/- 0.19, N = 3 SE +/- 1.33, N = 3 SE +/- 0.14, N = 3 SE +/- 0.11, N = 3 SE +/- 0.06, N = 3 SE +/- 0.69, N = 3 SE +/- 0.52, N = 3 SE +/- 1.46, N = 3 99.07 99.37 98.98 165.13 100.34 100.41 100.02 100.98 101.62 96.41 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance Btrfs EXT4 XFS 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.51, N = 3 SE +/- 0.56, N = 3 SE +/- 3.95, N = 6 SE +/- 0.49, N = 3 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 225.13 224.78 232.12 135.25 254.79 254.73 254.69 242.91 239.49 183.02 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Btrfs EXT4 XFS OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Linux 3.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 40 80 120 160 200 SE +/- 0.22, N = 3 SE +/- 0.14, N = 3 SE +/- 0.18, N = 3 SE +/- 2.57, N = 3 SE +/- 0.10, N = 3 SE +/- 0.25, N = 3 SE +/- 0.06, N = 3 SE +/- 0.67, N = 3 SE +/- 0.11, N = 3 SE +/- 0.49, N = 3 99.22 99.50 99.28 163.20 100.53 100.57 100.54 101.35 102.14 99.69 1. (CC) gcc options: -O3
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.2 Linux 3.3 Linux 3.4 Git Linux 3.4 UZ 20 40 60 80 100 SE +/- 1.66, N = 8 SE +/- 1.66, N = 8 SE +/- 0.96, N = 4 SE +/- 3.11, N = 8 SE +/- 0.20, N = 4 SE +/- 0.42, N = 4 SE +/- 0.73, N = 4 SE +/- 0.56, N = 4 SE +/- 0.39, N = 4 SE +/- 10.03, N = 8 89.65 88.56 91.82 55.48 90.01 89.54 89.14 87.26 87.66 78.32
Phoronix Test Suite v10.8.5