I/O scheduler testing by Michael Larabel for a future article on Phoronix.
Compare your own system(s) to this result file with the
Phoronix Test Suite by running the command:
phoronix-test-suite benchmark 1706265-TR-IOSCHEDUL10 I/O Scheduler Testing HDD SSD Linux 4.12 - Phoronix Test Suite I/O Scheduler Testing HDD SSD Linux 4.12 I/O scheduler testing by Michael Larabel for a future article on Phoronix.
HTML result view exported from: https://openbenchmarking.org/result/1706265-TR-IOSCHEDUL10&grt&rdt .
Processor Motherboard Chipset Memory Disk Graphics Audio Monitor Network OS Kernel Desktop Display Server Display Driver OpenGL Vulkan Compiler File-System Screen Resolution HDD SSD CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline CFQ Deadline Noop MQ None MQ Deadline MQ Kyber MQ BFQ Intel Core i7-7700K @ 4.50GHz (8 Cores) MSI Z270-A PRO (MS-7A71) v1.0 Intel Device 591f + Z270 16384MB 1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB MSI AMD Radeon RX 470/480 8192MB Realtek ALC892 Acer B286HK Realtek RTL8111/8168/8411 Ubuntu 17.04 4.12.0-999-generic (x86_64) 20170618 Unity 7.5.0 X Server 1.19.3 modesetting 1.19.3 4.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0) 1.0.42 GCC 6.3.0 20170406 ext4 3840x2160 128GB ADATA SU800 + Samsung SSD 950 PRO 256GB OpenBenchmarking.org Compiler Details - --build=x86_64-linux-gnu --disable-browser-plugin --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-gtk-cairo --enable-java-awt=gtk --enable-java-home --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --program-prefix=x86_64-linux-gnu- --target=x86_64-linux-gnu --with-abi=m64 --with-arch-32=i686 --with-arch-directory=amd64 --with-default-libstdcxx-abi=new --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic -v Disk Details - HDD: CFQ: CFQ / data=ordered,relatime,rw - HDD: Noop: NOOP / data=ordered,relatime,rw - HDD: Deadline: DEADLINE / data=ordered,relatime,rw - HDD: MQ None: NONE / data=ordered,relatime,rw - HDD: MQ Kyber: KYBER / data=ordered,relatime,rw - HDD: MQ BFQ: BFQ / data=ordered,relatime,rw - HDD: MQ Deadline: MQ-DEADLINE / data=ordered,relatime,rw - SSD: CFQ: CFQ / data=ordered,relatime,rw - SSD: Deadline: DEADLINE / data=ordered,relatime,rw - SSD: Noop: NOOP / data=ordered,relatime,rw - SSD: MQ None: NONE / data=ordered,relatime,rw - SSD: MQ Deadline: MQ-DEADLINE / data=ordered,relatime,rw - SSD: MQ Kyber: KYBER / data=ordered,relatime,rw - SSD: MQ BFQ: BFQ / data=ordered,relatime,rw Processor Details - Scaling Governor: intel_pstate powersave System Details - Python 2.7.13.
compilebench: Initial Create dbench: 6 fio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directory fio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directory iozone: 4Kb - 8GB - Write Performance pgbench: On-Disk - Normal Load - Read Write sqlite: Default Test Directory HDD SSD CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline CFQ Deadline Noop MQ None MQ Deadline MQ Kyber MQ BFQ 515.05 38.22 78.82 72.91 70.18 71.65 341.70 498.71 40.74 78.71 67.73 142.08 71.83 338.04 486.25 38.89 81.86 67.78 69.75 66.38 337.56 547.99 38.03 46.53 35.29 68.62 73.78 336.23 534.14 37.80 41.58 20.93 64.57 76.39 338.78 536.19 21.85 46.49 21.15 66.55 34.06 818.40 544.06 38.73 43.66 22.30 74.19 61.80 337.46 501.10 339.78 448.25 258.47 46.29 39.62 514.28 334.04 402.53 231.40 41.10 854.76 39.76 531.90 331.68 392.37 272.82 49.09 666.10 37.81 531.69 335.27 210.69 188.06 41.94 795.14 38.32 552.72 332.99 283.50 170.61 48.91 790.92 38.53 588.01 334.64 234.97 145.41 49.54 880.18 38.50 560.98 56.17 290.11 229.41 51.20 768.92 51.15 OpenBenchmarking.org
Compile Bench Test: Initial Create HDD SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 130 260 390 520 650 SE +/- 25.26, N = 6 SE +/- 18.12, N = 6 SE +/- 25.27, N = 6 SE +/- 20.19, N = 6 SE +/- 25.14, N = 6 SE +/- 23.07, N = 6 SE +/- 6.02, N = 3 SE +/- 8.17, N = 4 SE +/- 9.64, N = 3 SE +/- 17.28, N = 6 SE +/- 14.76, N = 6 SE +/- 17.66, N = 6 SE +/- 10.08, N = 3 SE +/- 13.74, N = 6 515.05 498.71 486.25 547.99 534.14 536.19 544.06 501.10 514.28 531.90 531.69 552.72 588.01 560.98
Dbench Client Count: 6 HDD SSD OpenBenchmarking.org MB/s, More Is Better Dbench 4.0 Client Count: 6 CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 70 140 210 280 350 SE +/- 0.74, N = 3 SE +/- 0.45, N = 3 SE +/- 0.31, N = 3 SE +/- 0.16, N = 3 SE +/- 0.27, N = 3 SE +/- 3.69, N = 6 SE +/- 0.19, N = 3 SE +/- 2.66, N = 3 SE +/- 1.51, N = 3 SE +/- 1.61, N = 3 SE +/- 4.65, N = 3 SE +/- 3.70, N = 3 SE +/- 0.92, N = 3 SE +/- 0.62, N = 3 38.22 40.74 38.89 38.03 37.80 21.85 38.73 339.78 334.04 331.68 335.27 332.99 334.64 56.17 1. (CC) gcc options: -lpopt -O2
Flexible IO Tester Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory HDD SSD OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 100 200 300 400 500 SE +/- 0.42, N = 3 SE +/- 1.29, N = 3 SE +/- 0.44, N = 3 SE +/- 0.17, N = 3 SE +/- 1.14, N = 6 SE +/- 2.01, N = 6 SE +/- 1.69, N = 6 SE +/- 0.68, N = 3 SE +/- 0.56, N = 3 SE +/- 0.23, N = 3 SE +/- 1.91, N = 3 SE +/- 0.49, N = 3 SE +/- 35.72, N = 6 SE +/- 1.08, N = 3 78.82 78.71 81.86 46.53 41.58 46.49 43.66 448.25 402.53 392.37 210.69 283.50 234.97 290.11 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory HDD SSD OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 20K 40K 60K 80K 100K SE +/- 105.30, N = 3 SE +/- 321.92, N = 3 SE +/- 108.91, N = 3 SE +/- 41.20, N = 3 SE +/- 286.16, N = 6 SE +/- 502.38, N = 6 SE +/- 423.30, N = 6 SE +/- 168.96, N = 3 SE +/- 140.58, N = 3 SE +/- 56.40, N = 3 SE +/- 477.54, N = 3 SE +/- 121.94, N = 3 SE +/- 8929.58, N = 6 SE +/- 269.62, N = 3 19701 19675 20461 11628 10391 11619 10911 112059 100628 98090 52670 70872 58739 72524 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory HDD SSD OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 60 120 180 240 300 SE +/- 1.32, N = 3 SE +/- 1.72, N = 6 SE +/- 0.98, N = 3 SE +/- 0.65, N = 6 SE +/- 0.14, N = 3 SE +/- 0.10, N = 3 SE +/- 0.55, N = 6 SE +/- 18.53, N = 6 SE +/- 17.02, N = 6 SE +/- 19.63, N = 6 SE +/- 32.92, N = 6 SE +/- 22.35, N = 6 SE +/- 21.16, N = 6 SE +/- 26.61, N = 6 72.91 67.73 67.78 35.29 20.93 21.15 22.30 258.47 231.40 272.82 188.06 170.61 145.41 229.41 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl
Flexible IO Tester Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory HDD SSD OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 2.1.13 Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 15K 30K 45K 60K 75K SE +/- 329.04, N = 3 SE +/- 428.90, N = 6 SE +/- 245.71, N = 3 SE +/- 161.26, N = 6 SE +/- 34.02, N = 3 SE +/- 26.18, N = 3 SE +/- 138.39, N = 6 SE +/- 4632.36, N = 6 SE +/- 4254.36, N = 6 SE +/- 4907.39, N = 6 SE +/- 8230.37, N = 6 SE +/- 5587.60, N = 6 SE +/- 5290.73, N = 6 SE +/- 6652.20, N = 6 18223 16929 16942 8818 5229 5283 5572 64615 57847 68200 47011 42650 36348 57350 1. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl
IOzone Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance HDD SSD OpenBenchmarking.org MB/s, More Is Better IOzone 3.405 Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 30 60 90 120 150 SE +/- 0.75, N = 3 SE +/- 0.54, N = 3 SE +/- 0.93, N = 3 SE +/- 0.81, N = 3 SE +/- 0.86, N = 3 SE +/- 0.87, N = 3 SE +/- 0.49, N = 3 SE +/- 3.07, N = 6 SE +/- 2.13, N = 6 SE +/- 2.75, N = 6 SE +/- 3.14, N = 6 SE +/- 3.17, N = 6 SE +/- 3.19, N = 6 SE +/- 1.44, N = 6 70.18 142.08 69.75 68.62 64.57 66.55 74.19 46.29 41.10 49.09 41.94 48.91 49.54 51.20 1. (CC) gcc options: -O3
PostgreSQL pgbench Scaling: On-Disk - Test: Normal Load - Mode: Read Write HDD SSD OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 9.6.3 Scaling: On-Disk - Test: Normal Load - Mode: Read Write CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 200 400 600 800 1000 71.65 71.83 66.38 73.78 76.39 34.06 61.80 854.76 666.10 795.14 790.92 880.18 768.92 1. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -fpic -lpgcommon -lpgport -lrt -lcrypt -ldl -lm
SQLite Test Target: Default Test Directory HDD SSD OpenBenchmarking.org Seconds, Fewer Is Better SQLite 3.8.10.2 Test Target: Default Test Directory CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline 200 400 600 800 1000 SE +/- 4.99, N = 5 SE +/- 1.10, N = 3 SE +/- 0.37, N = 3 SE +/- 0.50, N = 3 SE +/- 1.44, N = 3 SE +/- 4.45, N = 3 SE +/- 0.46, N = 3 SE +/- 3.10, N = 6 SE +/- 3.77, N = 6 SE +/- 2.15, N = 6 SE +/- 2.80, N = 6 SE +/- 2.04, N = 6 SE +/- 1.40, N = 6 SE +/- 4.60, N = 6 341.70 338.04 337.56 336.23 338.78 818.40 337.46 39.62 39.76 37.81 38.32 38.53 38.50 51.15 1. (CC) gcc options: -O2 -ldl -lpthread
Phoronix Test Suite v10.8.4