F2FS XFS EXT4 Hard Drive + SSD Linux Benchmarks Linux file-system benchmarks by Michael Larabel for a future article. HDD: EXT4: Processor: AMD Ryzen Threadripper 2950X 16-Core @ 3.50GHz (16 Cores / 32 Threads), Motherboard: MSI MEG X399 CREATION (MS-7B92) v1.0 (1.10 BIOS), Chipset: AMD Family 17h, Memory: 4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GTZR, Disk: Samsung SSD 970 EVO 250GB + 150GB Western Digital WD1500HLHX-0, Graphics: llvmpipe 31GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: 2 x Intel I211 + Intel-AC 9260 OS: Ubuntu 18.10, Kernel: 5.0.0-999-generic (x86_64) 20190125, Desktop: GNOME Shell 3.30.1, Display Server: X Server, OpenGL: 3.3 Mesa 18.2.2 (LLVM 7.0 128 bits), Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 2560x1440 HDD: F2FS: Processor: AMD Ryzen Threadripper 2950X 16-Core @ 3.50GHz (16 Cores / 32 Threads), Motherboard: MSI MEG X399 CREATION (MS-7B92) v1.0 (1.10 BIOS), Chipset: AMD Family 17h, Memory: 4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GTZR, Disk: Samsung SSD 970 EVO 250GB + 150GB Western Digital WD1500HLHX-0, Graphics: llvmpipe 31GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: 2 x Intel I211 + Intel-AC 9260 OS: Ubuntu 18.10, Kernel: 5.0.0-999-generic (x86_64) 20190125, Desktop: GNOME Shell 3.30.1, Display Server: X Server, OpenGL: 3.3 Mesa 18.2.2 (LLVM 7.0 128 bits), Compiler: GCC 8.2.0, File-System: f2fs, Screen Resolution: 2560x1440 HDD: XFS: Processor: AMD Ryzen Threadripper 2950X 16-Core @ 3.50GHz (16 Cores / 32 Threads), Motherboard: MSI MEG X399 CREATION (MS-7B92) v1.0 (1.10 BIOS), Chipset: AMD Family 17h, Memory: 4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GTZR, Disk: Samsung SSD 970 EVO 250GB + 150GB Western Digital WD1500HLHX-0, Graphics: llvmpipe 31GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: 2 x Intel I211 + Intel-AC 9260 OS: Ubuntu 18.10, Kernel: 5.0.0-999-generic (x86_64) 20190125, Desktop: GNOME Shell 3.30.1, Display Server: X Server, OpenGL: 3.3 Mesa 18.2.2 (LLVM 7.0 128 bits), Compiler: GCC 8.2.0, File-System: xfs, Screen Resolution: 2560x1440 SSD: EXT4: Processor: AMD Ryzen Threadripper 2950X 16-Core @ 3.50GHz (16 Cores / 32 Threads), Motherboard: MSI MEG X399 CREATION (MS-7B92) v1.0 (1.10 BIOS), Chipset: AMD Family 17h, Memory: 4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GTZR, Disk: Samsung SSD 970 EVO 250GB + 1000GB Samsung SSD 860, Graphics: llvmpipe 31GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: 2 x Intel I211 + Intel-AC 9260 OS: Ubuntu 18.10, Kernel: 5.0.0-999-generic (x86_64) 20190125, Desktop: GNOME Shell 3.30.1, Display Server: X Server, OpenGL: 3.3 Mesa 18.2.2 (LLVM 7.0 128 bits), Compiler: GCC 8.2.0, File-System: ext4, Screen Resolution: 2560x1440 SSD: F2FS: Processor: AMD Ryzen Threadripper 2950X 16-Core @ 3.50GHz (16 Cores / 32 Threads), Motherboard: MSI MEG X399 CREATION (MS-7B92) v1.0 (1.10 BIOS), Chipset: AMD Family 17h, Memory: 4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GTZR, Disk: Samsung SSD 970 EVO 250GB + 1000GB Samsung SSD 860, Graphics: llvmpipe 31GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: 2 x Intel I211 + Intel-AC 9260 OS: Ubuntu 18.10, Kernel: 5.0.0-999-generic (x86_64) 20190125, Desktop: GNOME Shell 3.30.1, Display Server: X Server, OpenGL: 3.3 Mesa 18.2.2 (LLVM 7.0 128 bits), Compiler: GCC 8.2.0, File-System: f2fs, Screen Resolution: 2560x1440 SSD: XFS: Processor: AMD Ryzen Threadripper 2950X 16-Core @ 3.50GHz (16 Cores / 32 Threads), Motherboard: MSI MEG X399 CREATION (MS-7B92) v1.0 (1.10 BIOS), Chipset: AMD Family 17h, Memory: 4 x 8192 MB DDR4-1600MT/s F4-3200C14-8GTZR, Disk: Samsung SSD 970 EVO 250GB + 1000GB Samsung SSD 860, Graphics: llvmpipe 31GB, Audio: Realtek ALC1220, Monitor: ASUS PB278, Network: 2 x Intel I211 + Intel-AC 9260 OS: Ubuntu 18.10, Kernel: 5.0.0-999-generic (x86_64) 20190125, Desktop: GNOME Shell 3.30.1, Display Server: X Server, OpenGL: 3.3 Mesa 18.2.2 (LLVM 7.0 128 bits), Compiler: GCC 8.2.0, File-System: xfs, Screen Resolution: 2560x1440 Application Start-up Time 2.4.0 Background I/O Mix: Only Sequential Reads - Application To Start: xterm - Disk Target: Default Test Directory sec < Lower Is Better HDD: EXT4 . 16.54 |========================================= HDD: F2FS . 24.10 |============================================================ HDD: XFS .. 15.44 |====================================== SSD: EXT4 . 2.37 |====== SSD: F2FS . 2.17 |===== SSD: XFS .. 2.43 |====== Application Start-up Time 2.4.0 Background I/O Mix: Sequential Reads + Writes - Application To Start: xterm - Disk Target: Default Test Directory sec < Lower Is Better HDD: EXT4 . 8.37 |================================================= HDD: F2FS . 10.31 |============================================================ HDD: XFS .. 8.56 |================================================== SSD: EXT4 . 1.64 |========== SSD: F2FS . 1.49 |========= SSD: XFS .. 1.51 |========= Application Start-up Time 2.4.0 Background I/O Mix: Sequential Reads + Writes - Application To Start: GNOME Terminal - Disk Target: Default Test Directory sec < Lower Is Better HDD: EXT4 . 55.47 |============================================================ HDD: F2FS . 36.24 |======================================= HDD: XFS .. 37.01 |======================================== SSD: EXT4 . 7.18 |======== SSD: F2FS . 4.57 |===== SSD: XFS .. 6.60 |======= Application Start-up Time 2.4.0 Background I/O Mix: Sequential Reads + Writes - Application To Start: LibreOffice Writer - Disk Target: Default Test Directory sec < Lower Is Better HDD: EXT4 . 71.58 |============================================================ HDD: F2FS . 27.57 |======================= HDD: XFS .. 38.20 |================================ SSD: EXT4 . 5.42 |===== SSD: F2FS . 3.18 |=== SSD: XFS .. 5.07 |==== SQLite 3.22 Timed SQLite Insertions Seconds < Lower Is Better HDD: EXT4 . 274.00 |======================================================== HDD: F2FS . 289.00 |=========================================================== HDD: XFS .. 227.00 |============================================== SSD: EXT4 . 34.75 |======= SSD: F2FS . 41.81 |========= SSD: XFS .. 39.83 |======== Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 2.14 | HDD: F2FS . 2.35 | HDD: XFS .. 2.28 | SSD: EXT4 . 365.00 |=========================================================== SSD: F2FS . 365.00 |=========================================================== SSD: XFS .. 365.00 |=========================================================== Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 115 |============= HDD: F2FS . 111 |============ HDD: XFS .. 109 |============ SSD: EXT4 . 552 |============================================================== SSD: F2FS . 551 |============================================================== SSD: XFS .. 551 |============================================================== Flexible IO Tester 3.1 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 2.41 | HDD: F2FS . 2.43 | HDD: XFS .. 2.36 | SSD: EXT4 . 357.00 |=========================================================== SSD: F2FS . 356.00 |=========================================================== SSD: XFS .. 356.00 |=========================================================== Flexible IO Tester 3.1 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 117 |============== HDD: F2FS . 105 |============ HDD: XFS .. 106 |============= SSD: EXT4 . 523 |============================================================== SSD: F2FS . 523 |============================================================== SSD: XFS .. 522 |============================================================== Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 115 |================ HDD: F2FS . 114 |================ HDD: XFS .. 115 |================ SSD: EXT4 . 440 |============================================================= SSD: F2FS . 403 |======================================================== SSD: XFS .. 444 |============================================================== Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better HDD: EXT4 . 29400 |=============== HDD: F2FS . 29167 |=============== HDD: XFS .. 29300 |=============== SSD: EXT4 . 112667 |========================================================== SSD: F2FS . 103175 |===================================================== SSD: XFS .. 114000 |=========================================================== Flexible IO Tester 3.1 Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 147 |================= HDD: F2FS . 132 |=============== HDD: XFS .. 126 |============== SSD: EXT4 . 552 |============================================================== SSD: F2FS . 467 |==================================================== SSD: XFS .. 535 |============================================================ Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 103 |=============== HDD: F2FS . 102 |=============== HDD: XFS .. 100 |=============== SSD: EXT4 . 415 |============================================================= SSD: F2FS . 423 |============================================================== SSD: XFS .. 419 |============================================================= Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better HDD: EXT4 . 26233 |============== HDD: F2FS . 26100 |============== HDD: XFS .. 25600 |============== SSD: EXT4 . 106333 |========================================================== SSD: F2FS . 108000 |=========================================================== SSD: XFS .. 107333 |=========================================================== Flexible IO Tester 3.1 Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4MB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: EXT4 . 143 |================= HDD: F2FS . 130 |=============== HDD: XFS .. 125 |=============== SSD: EXT4 . 523 |============================================================== SSD: F2FS . 523 |============================================================== SSD: XFS .. 522 |============================================================== FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better HDD: EXT4 . 27.40 |======= HDD: F2FS . 42.53 |=========== HDD: XFS .. 32.67 |========= SSD: EXT4 . 170.40 |============================================= SSD: F2FS . 223.37 |=========================================================== SSD: XFS .. 181.63 |================================================ FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better HDD: EXT4 . 67.33 |============= HDD: F2FS . 57.59 |=========== HDD: XFS .. 45.17 |========= SSD: EXT4 . 91.29 |================== SSD: F2FS . 109.08 |====================== SSD: XFS .. 297.17 |=========================================================== FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better HDD: EXT4 . 27.31 |========= HDD: F2FS . 48.53 |=============== HDD: XFS .. 34.50 |=========== SSD: EXT4 . 42.07 |============= SSD: F2FS . 48.02 |=============== SSD: XFS .. 188.27 |=========================================================== BlogBench 1.1 Test: Read Final Score > Higher Is Better HDD: EXT4 . 2506299 |========================================================== HDD: F2FS . 2333944 |====================================================== HDD: XFS .. 2318138 |====================================================== SSD: EXT4 . 2422279 |======================================================== SSD: F2FS . 2275265 |===================================================== SSD: XFS .. 2308380 |===================================================== BlogBench 1.1 Test: Write Final Score > Higher Is Better HDD: EXT4 . 4932 |======================================= HDD: F2FS . 2996 |======================== HDD: XFS .. 2653 |===================== SSD: EXT4 . 7643 |============================================================= SSD: F2FS . 3125 |========================= SSD: XFS .. 5667 |============================================= Compile Bench 0.6 Test: Compile MB/s > Higher Is Better HDD: EXT4 . 1314 |========================================== HDD: F2FS . 915 |============================= HDD: XFS .. 1894 |============================================================= SSD: EXT4 . 1295 |========================================== SSD: F2FS . 871 |============================ SSD: XFS .. 1824 |=========================================================== Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better HDD: EXT4 . 512 |============================================================== HDD: F2FS . 126 |=============== HDD: XFS .. 415 |================================================== SSD: EXT4 . 489 |=========================================================== SSD: F2FS . 104 |============= SSD: XFS .. 430 |==================================================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Only TPS > Higher Is Better HDD: EXT4 . 307422 |=========================================================== HDD: F2FS . 303978 |========================================================== HDD: XFS .. 305256 |========================================================== SSD: EXT4 . 308177 |=========================================================== SSD: F2FS . 305022 |========================================================== SSD: XFS .. 305451 |========================================================== PostgreSQL pgbench 10.3 Scaling: Buffer Test - Test: Normal Load - Mode: Read Write TPS > Higher Is Better HDD: EXT4 . 621 |==================== HDD: F2FS . 1818 |=========================================================== HDD: XFS .. 656 |===================== SSD: EXT4 . 1697 |======================================================= SSD: F2FS . 1849 |============================================================ SSD: XFS .. 1887 |============================================================= Flexible IO Tester 3.1 Type: Random Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better SSD: EXT4 . 93533 |============================================================ SSD: F2FS . 93467 |============================================================ SSD: XFS .. 93367 |============================================================ Flexible IO Tester 3.1 Type: Random Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better SSD: EXT4 . 91267 |============================================================ SSD: F2FS . 91133 |============================================================ SSD: XFS .. 91133 |============================================================