EXT4 File-System Mount Option Tuning Intel Core i7 720Q with Intel SSD benchmarking of various EXT4 file-system mount options. EXT4 testing from Ubuntu 12.10 64-bit with the Linux 3.5 kernel. Benchmarking by Michael Larabel for a future article looking at Linux file-system performance on Phoronix.
HTML result view exported from: https://openbenchmarking.org/result/1211159-RA-EXT4FILES89 .
EXT4 File-System Mount Option Tuning Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution Defaults nobarrier data=journal data=writeback nodelalloc discard Intel Core i7 720Q @ 1.60GHz (8 Cores) LENOVO 4318CTO Intel Core DMI 2 x 2048 MB DDR3-1066MHz 160GB INTEL SSDSA2M160 NVIDIA Quadro FX 880M 1024MB (405/324MHz) Conexant CX20585 Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 Ubuntu 12.10 3.5.0-17-generic (x86_64) Unity 6.8.0 X Server 1.13.0 nouveau 1.0.2 3.0 Mesa 9.0 Gallium 0.4 GCC 4.7 ext4 1600x900 OpenBenchmarking.org Compiler Details - --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,go,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 Disk Details - Defaults: DEADLINE / data=ordered,relatime,rw - nobarrier: DEADLINE / data=ordered,nobarrier,relatime,rw - data=journal: DEADLINE / data=journal,nodelalloc,relatime,rw - data=writeback: DEADLINE / data=writeback,relatime,rw - nodelalloc: DEADLINE / data=ordered,nodelalloc,relatime,rw - discard: DEADLINE / data=ordered,discard,relatime,rw System Details - Disk Scheduler: DEADLINE. Python 2.7.3. Compiz was running on this system.
EXT4 File-System Mount Option Tuning fio: Intel IOMeter File Server Access Pattern fs-mark: 1000 Files, 1MB Size fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size fs-mark: 1000 Files, 1MB Size, No Sync/FSync dbench: 1 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 - 4 tiobench: Rand Write - 64MB - 8 compilebench: Compile compilebench: Initial Create Defaults nobarrier data=journal data=writeback nodelalloc discard 102.98 81.13 97.47 80.90 146.70 243.27 194.91 204.51 99.63 99.73 215.91 101.14 95.38 95.91 104.02 96.33 102.89 82.03 98.53 82.27 148.97 257.32 224.41 225.74 103.65 103.26 222.02 103.28 95.53 94.47 105.63 97.18 351.70 40.77 40.97 38.73 48.43 112.29 251.24 251.85 46.23 39.99 251.36 42.60 16.69 41.55 31.38 23.70 103.19 81.73 98.13 81.47 146.92 247.92 233.45 234.67 101.30 101.08 234.02 101.33 94.67 95.40 106.80 110.65 104.71 71.23 93.47 70.73 147.73 125.75 222.63 227.33 101.64 102.32 226.18 102.09 94.60 94.03 106.10 102.69 103.88 80.57 96.40 78.33 146.17 182.42 239.02 237.69 101.84 101.81 237.06 101.46 95.97 96.01 106.92 105.73 OpenBenchmarking.org
Flexible IO Tester Test: Intel IOMeter File Server Access Pattern OpenBenchmarking.org Seconds (Run Time), Fewer Is Better Flexible IO Tester 1.57 Test: Intel IOMeter File Server Access Pattern Defaults nobarrier data=journal data=writeback nodelalloc discard 80 160 240 320 400 SE +/- 0.26, N = 3 SE +/- 0.04, N = 3 SE +/- 0.86, N = 3 SE +/- 0.08, N = 3 SE +/- 0.18, N = 3 SE +/- 0.60, N = 3 102.98 102.89 351.70 103.19 104.71 103.88
FS-Mark Test: 1000 Files, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 1.19, N = 3 SE +/- 1.04, N = 3 SE +/- 0.37, N = 3 SE +/- 0.85, N = 3 SE +/- 0.47, N = 3 SE +/- 0.97, N = 3 81.13 82.03 40.77 81.73 71.23 80.57 1. (CC) gcc options: -static
FS-Mark Test: 5000 Files, 1MB Size, 4 Threads OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.13, N = 3 SE +/- 0.13, N = 3 SE +/- 0.12, N = 3 SE +/- 0.13, N = 3 SE +/- 0.74, N = 3 SE +/- 0.80, N = 3 97.47 98.53 40.97 98.13 93.47 96.40 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.00, N = 3 SE +/- 0.09, N = 3 SE +/- 0.47, N = 3 SE +/- 0.09, N = 3 SE +/- 0.03, N = 3 SE +/- 1.24, N = 4 80.90 82.27 38.73 81.47 70.73 78.33 1. (CC) gcc options: -static
FS-Mark Test: 1000 Files, 1MB Size, No Sync/FSync OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size, No Sync/FSync Defaults nobarrier data=journal data=writeback nodelalloc discard 30 60 90 120 150 SE +/- 1.82, N = 3 SE +/- 1.87, N = 3 SE +/- 0.03, N = 3 SE +/- 2.15, N = 5 SE +/- 0.27, N = 3 SE +/- 1.11, N = 3 146.70 148.97 48.43 146.92 147.73 146.17 1. (CC) gcc options: -static
Dbench Client Count: 1 OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 1 Defaults nobarrier data=journal data=writeback nodelalloc discard 60 120 180 240 300 SE +/- 1.72, N = 3 SE +/- 2.57, N = 3 SE +/- 0.18, N = 3 SE +/- 3.16, N = 3 SE +/- 0.11, N = 3 SE +/- 0.47, N = 3 243.27 257.32 112.29 247.92 125.75 182.42 1. (CC) gcc options: -lpopt
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Read Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 1MB - File Size: 8GB - Disk Test: Read Performance Defaults nobarrier data=journal data=writeback nodelalloc discard 50 100 150 200 250 SE +/- 3.72, N = 3 SE +/- 1.63, N = 3 SE +/- 0.06, N = 3 SE +/- 1.13, N = 3 SE +/- 3.49, N = 4 SE +/- 1.19, N = 3 194.91 224.41 251.24 233.45 222.63 239.02 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Read Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Read Performance Defaults nobarrier data=journal data=writeback nodelalloc discard 60 120 180 240 300 SE +/- 1.33, N = 3 SE +/- 1.20, N = 3 SE +/- 0.07, N = 3 SE +/- 0.86, N = 3 SE +/- 0.38, N = 3 SE +/- 1.98, N = 3 204.51 225.74 251.85 234.67 227.33 237.69 1. (CC) gcc options: -O3
IOzone Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 1MB - File Size: 8GB - Disk Test: Write Performance Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.26, N = 3 SE +/- 0.67, N = 3 SE +/- 0.29, N = 3 SE +/- 0.17, N = 3 SE +/- 0.22, N = 3 SE +/- 0.20, N = 3 99.63 103.65 46.23 101.30 101.64 101.84 1. (CC) gcc options: -O3
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.42, N = 3 SE +/- 0.32, N = 3 SE +/- 1.99, N = 6 SE +/- 0.07, N = 3 SE +/- 0.49, N = 3 SE +/- 0.27, N = 3 99.73 103.26 39.99 101.08 102.32 101.81 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance Defaults nobarrier data=journal data=writeback nodelalloc discard 50 100 150 200 250 SE +/- 13.59, N = 6 SE +/- 1.88, N = 3 SE +/- 0.11, N = 3 SE +/- 0.65, N = 3 SE +/- 0.24, N = 3 SE +/- 1.71, N = 3 215.91 222.02 251.36 234.02 226.18 237.06 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.31, N = 3 SE +/- 0.57, N = 3 SE +/- 0.59, N = 3 SE +/- 0.09, N = 3 SE +/- 0.12, N = 3 SE +/- 0.25, N = 3 101.14 103.28 42.60 101.33 102.09 101.46 1. (CC) gcc options: -O3
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 4 OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 64MB - Thread Count: 4 Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.57, N = 4 SE +/- 0.70, N = 4 SE +/- 3.71, N = 8 SE +/- 0.62, N = 4 SE +/- 0.20, N = 4 SE +/- 1.01, N = 4 95.38 95.53 16.69 94.67 94.60 95.97
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.19, N = 4 SE +/- 0.77, N = 4 SE +/- 6.11, N = 8 SE +/- 0.16, N = 4 SE +/- 1.23, N = 6 SE +/- 0.31, N = 4 95.91 94.47 41.55 95.40 94.03 96.01
Compile Bench Test: Compile OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 1.18, N = 3 SE +/- 1.15, N = 3 SE +/- 0.26, N = 3 SE +/- 0.94, N = 3 SE +/- 0.59, N = 3 SE +/- 1.52, N = 3 104.02 105.63 31.38 106.80 106.10 106.92
Compile Bench Test: Initial Create OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create Defaults nobarrier data=journal data=writeback nodelalloc discard 20 40 60 80 100 SE +/- 0.70, N = 3 SE +/- 1.96, N = 3 SE +/- 0.74, N = 3 SE +/- 3.47, N = 3 SE +/- 3.59, N = 3 SE +/- 3.82, N = 3 96.33 97.18 23.70 110.65 102.69 105.73
Phoronix Test Suite v10.8.4