I/O Scheduler Testing HDD SSD Linux 4.12 I/O scheduler testing by Michael Larabel for a future article on Phoronix. HDD: CFQ: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 HDD: Noop: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 HDD: Deadline: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 HDD: MQ None: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 HDD: MQ Kyber: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 HDD: MQ BFQ: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 HDD: MQ Deadline: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: CFQ: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: Deadline: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: Noop: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: MQ None: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: MQ Deadline: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: MQ Kyber: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SSD: MQ BFQ: Processor: Intel Core i7-7700K @ 4.50GHz (8 Cores), Motherboard: MSI Z270-A PRO (MS-7A71) v1.0, Chipset: Intel Device 591f + Z270, Memory: 16384MB, Disk: 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB, Graphics: MSI AMD Radeon RX 470/480 8192MB, Audio: Realtek ALC892, Monitor: Acer B286HK, Network: Realtek RTL8111/8168/8411 OS: Ubuntu 17.04, Kernel: 4.12.0-999-generic (x86_64) 20170618, Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0), Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 SQLite 3.8.10.2 Test Target: Default Test Directory Seconds < Lower Is Better HDD: CFQ ......... 341.70 |====================== HDD: Noop ........ 338.04 |===================== HDD: Deadline .... 337.56 |===================== HDD: MQ None ..... 336.23 |===================== HDD: MQ Kyber .... 338.78 |====================== HDD: MQ BFQ ...... 818.40 |==================================================== HDD: MQ Deadline . 337.46 |===================== SSD: CFQ ......... 39.62 |=== SSD: Deadline .... 39.76 |=== SSD: Noop ........ 37.81 |== SSD: MQ None ..... 38.32 |== SSD: MQ Deadline . 38.53 |== SSD: MQ Kyber .... 38.50 |== SSD: MQ BFQ ...... 51.15 |=== Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: CFQ ......... 78.82 |========= HDD: Noop ........ 78.71 |========= HDD: Deadline .... 81.86 |========= HDD: MQ None ..... 46.53 |===== HDD: MQ Kyber .... 41.58 |===== HDD: MQ BFQ ...... 46.49 |===== HDD: MQ Deadline . 43.66 |===== SSD: CFQ ......... 448.25 |==================================================== SSD: Deadline .... 402.53 |=============================================== SSD: Noop ........ 392.37 |============================================== SSD: MQ None ..... 210.69 |======================== SSD: MQ Deadline . 283.50 |================================= SSD: MQ Kyber .... 234.97 |=========================== SSD: MQ BFQ ...... 290.11 |================================== Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better HDD: CFQ ......... 19701 |========= HDD: Noop ........ 19675 |========= HDD: Deadline .... 20461 |========= HDD: MQ None ..... 11628 |===== HDD: MQ Kyber .... 10391 |===== HDD: MQ BFQ ...... 11619 |===== HDD: MQ Deadline . 10911 |===== SSD: CFQ ......... 112059 |==================================================== SSD: Deadline .... 100628 |=============================================== SSD: Noop ........ 98090 |============================================== SSD: MQ None ..... 52670 |======================== SSD: MQ Deadline . 70872 |================================= SSD: MQ Kyber .... 58739 |=========================== SSD: MQ BFQ ...... 72524 |================================== Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better HDD: CFQ ......... 72.91 |============== HDD: Noop ........ 67.73 |============= HDD: Deadline .... 67.78 |============= HDD: MQ None ..... 35.29 |======= HDD: MQ Kyber .... 20.93 |==== HDD: MQ BFQ ...... 21.15 |==== HDD: MQ Deadline . 22.30 |==== SSD: CFQ ......... 258.47 |================================================= SSD: Deadline .... 231.40 |============================================ SSD: Noop ........ 272.82 |==================================================== SSD: MQ None ..... 188.06 |==================================== SSD: MQ Deadline . 170.61 |================================= SSD: MQ Kyber .... 145.41 |============================ SSD: MQ BFQ ...... 229.41 |============================================ Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better HDD: CFQ ......... 18223 |============== HDD: Noop ........ 16929 |============= HDD: Deadline .... 16942 |============= HDD: MQ None ..... 8818 |======= HDD: MQ Kyber .... 5229 |==== HDD: MQ BFQ ...... 5283 |==== HDD: MQ Deadline . 5572 |==== SSD: CFQ ......... 64615 |================================================== SSD: Deadline .... 57847 |============================================= SSD: Noop ........ 68200 |===================================================== SSD: MQ None ..... 47011 |===================================== SSD: MQ Deadline . 42650 |================================= SSD: MQ Kyber .... 36348 |============================ SSD: MQ BFQ ...... 57350 |============================================= Dbench 4.0 Client Count: 6 MB/s > Higher Is Better HDD: CFQ ......... 38.22 |====== HDD: Noop ........ 40.74 |====== HDD: Deadline .... 38.89 |====== HDD: MQ None ..... 38.03 |====== HDD: MQ Kyber .... 37.80 |====== HDD: MQ BFQ ...... 21.85 |=== HDD: MQ Deadline . 38.73 |====== SSD: CFQ ......... 339.78 |==================================================== SSD: Deadline .... 334.04 |=================================================== SSD: Noop ........ 331.68 |=================================================== SSD: MQ None ..... 335.27 |=================================================== SSD: MQ Deadline . 332.99 |=================================================== SSD: MQ Kyber .... 334.64 |=================================================== SSD: MQ BFQ ...... 56.17 |========= IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance MB/s > Higher Is Better HDD: CFQ ......... 70.18 |========================== HDD: Noop ........ 142.08 |==================================================== HDD: Deadline .... 69.75 |========================== HDD: MQ None ..... 68.62 |========================= HDD: MQ Kyber .... 64.57 |======================== HDD: MQ BFQ ...... 66.55 |======================== HDD: MQ Deadline . 74.19 |=========================== SSD: CFQ ......... 46.29 |================= SSD: Deadline .... 41.10 |=============== SSD: Noop ........ 49.09 |================== SSD: MQ None ..... 41.94 |=============== SSD: MQ Deadline . 48.91 |================== SSD: MQ Kyber .... 49.54 |================== SSD: MQ BFQ ...... 51.20 |=================== Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better HDD: CFQ ......... 515.05 |============================================== HDD: Noop ........ 498.71 |============================================ HDD: Deadline .... 486.25 |=========================================== HDD: MQ None ..... 547.99 |================================================ HDD: MQ Kyber .... 534.14 |=============================================== HDD: MQ BFQ ...... 536.19 |=============================================== HDD: MQ Deadline . 544.06 |================================================ SSD: CFQ ......... 501.10 |============================================ SSD: Deadline .... 514.28 |============================================= SSD: Noop ........ 531.90 |=============================================== SSD: MQ None ..... 531.69 |=============================================== SSD: MQ Deadline . 552.72 |================================================= SSD: MQ Kyber .... 588.01 |==================================================== SSD: MQ BFQ ...... 560.98 |================================================== PostgreSQL pgbench 9.6.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write TPS > Higher Is Better HDD: CFQ ......... 71.65 |==== HDD: Noop ........ 71.83 |==== HDD: Deadline .... 66.38 |==== HDD: MQ None ..... 73.78 |==== HDD: MQ Kyber .... 76.39 |===== HDD: MQ BFQ ...... 34.06 |== HDD: MQ Deadline . 61.80 |==== SSD: Deadline .... 854.76 |================================================== SSD: Noop ........ 666.10 |======================================= SSD: MQ None ..... 795.14 |=============================================== SSD: MQ Deadline . 790.92 |=============================================== SSD: MQ Kyber .... 880.18 |==================================================== SSD: MQ BFQ ...... 768.92 |=============================================