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 SSD 840 PRO: MQ BFQ: Processor: Intel Core i5-4670K @ 4.30GHz (4 Cores), Motherboard: MSI Z87-G41 PC Mate(MS-7850) v1.0, Chipset: Intel 4th Gen Core DRAM, Memory: 16384MB, Disk: 256GB Samsung SSD 840 + 1000GB My Passport 0740, Graphics: MSI AMD POLARIS10 (DRM 3.10.0 / 4.11.8-xanmod12 LLVM 4.0.1) 8192MB, Audio: Realtek ALC887-VD, Monitor: XG2401, Network: Realtek RTL8111/8168/8411 + Qualcomm Atheros AR93xx Wireless OS: Ubuntu 17.04, Kernel: 4.11.8-xanmod12 (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, OpenGL: 4.5 Mesa 17.2.0-devel (LLVM 4.0.1), OpenCL: OpenCL 1.1 Mesa 17.2.0-devel, Vulkan: 1.0.42, Compiler: GCC 6.3.0 20170406 + Clang 4.0.1-+rc1-1~gd~z + LLVM 4.0.1, File-System: ext4, Screen Resolution: 1920x1080 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 |=== SSD 840 PRO: MQ BFQ . 75.57 |===== 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 |=============================== SSD 840 PRO: MQ BFQ . 455.36 |================================================= 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 |=============================== SSD 840 PRO: MQ BFQ . 113836 |================================================= 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 |============================== SSD 840 PRO: MQ BFQ . 373.93 |================================================= 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 |=============================== SSD 840 PRO: MQ BFQ . 93479 |================================================== 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 |======== SSD 840 PRO: MQ BFQ . 52.63 |======== 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 |======= SSD 840 PRO: MQ BFQ . 349.13 |================================================= 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 |=============================================== SSD 840 PRO: MQ BFQ . 537.35 |============================================= 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 |=============================== SSD 840 PRO: MQ BFQ . 1177.66 |================================================