Linux 4.12 I/O Scheduler Tests Linux 4.12 kernel none, mq-deadline, Kyber, BFQ I/O scheduler tests on an NVMe SSD for reference. Tests by Michael Larabel for a future article. None: Processor: Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores), Motherboard: MSI C236A WORKSTATION (MS-7998) v1.0, Chipset: Intel Skylake, Memory: 16384MB, Disk: 256GB TOSHIBA-RD400, Graphics: Sapphire AMD Radeon RX 470/480 4096MB, Audio: Realtek ALC1150, Monitor: DELL P2415Q, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 mq-deadline: Processor: Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores), Motherboard: MSI C236A WORKSTATION (MS-7998) v1.0, Chipset: Intel Skylake, Memory: 16384MB, Disk: 256GB TOSHIBA-RD400, Graphics: Sapphire AMD Radeon RX 470/480 4096MB, Audio: Realtek ALC1150, Monitor: DELL P2415Q, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 Kyber: Processor: Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores), Motherboard: MSI C236A WORKSTATION (MS-7998) v1.0, Chipset: Intel Skylake, Memory: 16384MB, Disk: 256GB TOSHIBA-RD400, Graphics: Sapphire AMD Radeon RX 470/480 4096MB, Audio: Realtek ALC1150, Monitor: DELL P2415Q, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), Compiler: GCC 6.3.0 20170406, File-System: ext4, Screen Resolution: 3840x2160 BFQ: Processor: Intel Xeon E3-1280 v5 @ 4.00GHz (8 Cores), Motherboard: MSI C236A WORKSTATION (MS-7998) v1.0, Chipset: Intel Skylake, Memory: 16384MB, Disk: 256GB TOSHIBA-RD400, Graphics: Sapphire AMD Radeon RX 470/480 4096MB, Audio: Realtek ALC1150, Monitor: DELL P2415Q, Network: Intel Connection OS: Ubuntu 17.04, Kernel: 4.11.0+ (x86_64), Desktop: Unity 7.5.0, Display Server: X Server 1.19.3, Display Driver: modesetting 1.19.3, OpenGL: 4.5 Mesa 17.0.3 Gallium 0.4 (LLVM 4.0.0), 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 None ........ 71.03 |================================ mq-deadline . 82.56 |====================================== Kyber ....... 85.96 |======================================= BFQ ......... 124.90 |========================================================= Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory MB/s > Higher Is Better None ........ 575.69 |========================================================= mq-deadline . 454.76 |============================================= Kyber ....... 435.18 |=========================================== BFQ ......... 438.34 |=========================================== Flexible IO Tester 2.1.13 Type: Random Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory IOPS > Higher Is Better None ........ 143918 |========================================================= mq-deadline . 113687 |============================================= Kyber ....... 108791 |=========================================== BFQ ......... 109581 |=========================================== 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 None ........ 783.88 |========================================================= mq-deadline . 735.52 |===================================================== Kyber ....... 720.11 |==================================================== BFQ ......... 730.79 |===================================================== 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 None ........ 195967 |========================================================= mq-deadline . 183876 |===================================================== Kyber ....... 180024 |==================================================== BFQ ......... 182693 |===================================================== FS-Mark 3.3 Test: 1000 Files, 1MB Size Files/s > Higher Is Better None ........ 96.17 |========================================================== mq-deadline . 83.53 |================================================== Kyber ....... 72.67 |============================================ BFQ ......... 57.00 |================================== FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads Files/s > Higher Is Better None ........ 153.33 |========================================================= mq-deadline . 86.57 |================================ Kyber ....... 84.80 |================================ BFQ ......... 88.67 |================================= FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size Files/s > Higher Is Better None ........ 88.30 |========================================================== mq-deadline . 60.00 |======================================= Kyber ....... 60.43 |======================================== BFQ ......... 45.40 |============================== BlogBench 1.0 Test: Write Final Score > Higher Is Better None ........ 34256 |========================================================== mq-deadline . 11616 |==================== Kyber ....... 8000 |============== BFQ ......... 9181 |================ Dbench 4.0 Client Count: 1 MB/s > Higher Is Better None ........ 66.86 |========================================================== mq-deadline . 64.07 |======================================================== Kyber ....... 62.29 |====================================================== BFQ ......... 35.20 |=============================== Dbench 4.0 Client Count: 6 MB/s > Higher Is Better None ........ 218.80 |========================================================= mq-deadline . 200.70 |==================================================== Kyber ....... 198.66 |==================================================== BFQ ......... 47.95 |============ IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance MB/s > Higher Is Better None ........ 808.74 |========================================================= mq-deadline . 317.53 |====================== Kyber ....... 667.38 |=============================================== BFQ ......... 564.10 |======================================== Threaded I/O Tester 20170503 Test: Random Write - Size Per Thread: 32MB - Thread Count: 4 MB/s > Higher Is Better None ........ 12.84 |======================================================= mq-deadline . 13.53 |========================================================== Kyber ....... 12.74 |======================================================= BFQ ......... 3.37 |============== Compile Bench 0.6 Test: Initial Create MB/s > Higher Is Better None ........ 577.34 |========================================================= mq-deadline . 570.00 |======================================================== Kyber ....... 565.94 |======================================================== BFQ ......... 545.51 |====================================================== Unpacking The Linux Kernel linux-2.6.32.tar.bz2 Seconds < Lower Is Better None ........ 7.61 |=========================================================== mq-deadline . 7.56 |=========================================================== Kyber ....... 7.58 |=========================================================== BFQ ......... 7.53 |========================================================== Timed Apache Compilation 2.4.7 Time To Compile Seconds < Lower Is Better None ........ 25.53 |========================================================== mq-deadline . 25.65 |========================================================== Kyber ....... 25.49 |========================================================== BFQ ......... 25.56 |========================================================== Timed Linux Kernel Compilation 4.9 Time To Compile Seconds < Lower Is Better None ........ 123.20 |========================================================= mq-deadline . 123.00 |========================================================= Kyber ....... 123.13 |========================================================= BFQ ......... 122.66 |========================================================= PostgreSQL pgbench 9.4.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write TPS > Higher Is Better None ........ 1588.74 |======================================================== mq-deadline . 1546.36 |======================================================= Redis 3.0.1 Test: GET Requests Per Second > Higher Is Better None ........ 3115508.00 |===================================================== mq-deadline . 2868074.08 |================================================= Kyber ....... 2830851.83 |================================================ BFQ ......... 2851855.00 |================================================= Redis 3.0.1 Test: SET Requests Per Second > Higher Is Better None ........ 2037914.87 |=================================================== mq-deadline . 2052248.83 |=================================================== Kyber ....... 2078919.21 |==================================================== BFQ ......... 2122055.13 |===================================================== Memcached 1.3.34 mcperf 0.1.1 Method: Get Operations Per Second > Higher Is Better None ........ 159058.03 |====================================================== mq-deadline . 157527.23 |===================================================== Kyber ....... 156387.20 |===================================================== BFQ ......... 155304.70 |===================================================== Memcached 1.3.34 mcperf 0.1.1 Method: Set Operations Per Second > Higher Is Better None ........ 92322.40 |======================================================= mq-deadline . 91452.17 |====================================================== Kyber ....... 92470.67 |======================================================= BFQ ......... 91694.30 |======================================================= Apache Benchmark 2.4.7 Static Web Page Serving Requests Per Second > Higher Is Better None ........ 43561.77 |======================================================= mq-deadline . 43947.49 |======================================================= Kyber ....... 43327.45 |====================================================== BFQ ......... 43467.39 |======================================================