Linux IO Scheduler Testing - CFQ, Deadline, Noop Testing for a future article on Phoronix.com of different Linux kernel IO schedulers from the Linux 3.4 kernel: CFQ, Noop, and Deadline. Intel Core 2 Duo T9300 and Intel Core i5 Sandy Bridge and Core i7 Clarksfield setups with hard drive and solid-state drives tested.
HTML result view exported from: https://openbenchmarking.org/result/1204132-SU-SCHEDULER98&rdt&gru .
Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD CFQ Noop Deadline CFQ Noop Deadline CFQ Noop Deadline Intel Core 2 Duo T9300 @ 2.50GHz (2 Cores) LENOVO 6459CTO Intel Mobile PM965/GM965/GL960 + ICH8M-E 4096MB 100GB Hitachi HTS72201 NVIDIA Quadro NVS 140M 128MB (275/302MHz) Analog Devices AD1984 Intel 82566MM Gigabit Connection + Intel PRO/Wireless Ubuntu 12.04 3.4.0-999-generic (x86_64) Unity 5.8.0 X Server 1.11.3 nouveau 0.0.16 2.1 Mesa 8.0.2 Gallium 0.4 GCC 4.6 ext4 1680x1050 LLVMpipe NVIDIA Quadro NVS 140M 128MB (275/302MHz) Intel Core i5-2520M @ 2.50GHz (4 Cores) HP 161C Intel 2nd Generation Core Family DRAM 160GB INTEL SSDSA2M160 Intel Sandybridge Mobile (GT2+) IDT 92HD81B1X5 Intel 82579LM Gigabit Connection + Intel Centrino Advanced-N 6205 intel 2.17.0 3.0 Mesa 8.0.2 1600x900 Intel Core i7 720Q @ 1.60GHz (8 Cores) LENOVO 4318CTO Intel Core DMI NVIDIA Quadro FX 880M 1024MB (405/324MHz) Conexant CX20585 Intel 82577LM Gigabit Connection + Intel Centrino Ultimate-N 6300 nouveau 0.0.16 2.1 Mesa 8.0.2 Gallium 0.4 OpenBenchmarking.org Compiler Details - --build=x86_64-linux-gnu --disable-werror --enable-checking=release --enable-clocale=gnu --enable-gnu-unique-object --enable-languages=c,c++,fortran,objc,obj-c++ --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-nls --enable-objc-gc --enable-plugin --enable-shared --enable-threads=posix --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-arch-32=i686 --with-tune=generic -v Disk Details - Penryn + HDD: CFQ: CFQ / data=ordered,errors=remount-ro,relatime,rw - Penryn + HDD: Noop: NOOP / data=ordered,errors=remount-ro,relatime,rw - Penryn + HDD: Deadline: DEADLINE / data=ordered,errors=remount-ro,relatime,rw - Sandy Bridge + SSD: CFQ: CFQ / data=ordered,errors=remount-ro,relatime,rw - Sandy Bridge + SSD: Noop: NOOP / data=ordered,errors=remount-ro,relatime,rw - Sandy Bridge + SSD: Deadline: DEADLINE / data=ordered,errors=remount-ro,relatime,rw - Clarksfield + SSD: CFQ: CFQ / data=ordered,errors=remount-ro,relatime,rw - Clarksfield + SSD: Noop: NOOP / data=ordered,errors=remount-ro,relatime,rw - Clarksfield + SSD: Deadline: DEADLINE / data=ordered,errors=remount-ro,relatime,rw Processor Details - Scaling Governor: ondemand System Details - Penryn + HDD: CFQ: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - Penryn + HDD: Noop: Disk Scheduler: NOOP. Python 2.7.3. Compiz was running on this system. - Penryn + HDD: Deadline: Disk Scheduler: DEADLINE. Python 2.7.3. Compiz was running on this system. - Sandy Bridge + SSD: CFQ: Disk Scheduler: CFQ. Python 2.7.3rc2. Compiz was running on this system. - Sandy Bridge + SSD: Noop: Disk Scheduler: NOOP. Python 2.7.3rc2. Compiz was running on this system. - Sandy Bridge + SSD: Deadline: Disk Scheduler: DEADLINE. Python 2.7.3rc2. Compiz was running on this system. - Clarksfield + SSD: CFQ: Disk Scheduler: CFQ. Python 2.7.3. Compiz was running on this system. - Clarksfield + SSD: Noop: Disk Scheduler: NOOP. Python 2.7.3. Compiz was running on this system. - Clarksfield + SSD: Deadline: Disk Scheduler: DEADLINE. Python 2.7.3. Compiz was running on this system.
fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 1000 Files, 1MB Size fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size fs-mark: 1000 Files, 1MB Size, No Sync/FSync blogbench: Write compilebench: Compile compilebench: Initial Create compilebench: Read Compiled Tree iozone: 64Kb - 8GB - Read Performance iozone: 64Kb - 8GB - Write Performance tiobench: Rand Write - 128MB - 8 tiobench: Rand Write - 128MB - 16 tiobench: Rand Write - 64MB - 16 tiobench: Rand Write - 64MB - 8 apache: Static Web Page Serving nginx: Static Web Page Serving postmark: Disk Transaction Performance pgbench: TPC-B Transactions Per Second build-linux-kernel: Time To Compile build-php: Time To Compile Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD CFQ Noop Deadline CFQ Noop Deadline CFQ Noop Deadline 36.00 17.77 18.20 68.70 923 40.33 47.62 48.68 65.47 52.36 2.01 1.93 2.74 2.74 11255.18 14157.59 1388 112.00 329.46 91.75 35.03 16.23 17.22 68.10 783 36.28 45.71 51.19 62.49 56.01 1.82 1.74 2.20 2.68 11570.62 14181.20 1388 112.76 329.42 91.89 36.07 19.53 20.57 68.60 882 43.61 45.65 50.43 64.36 54.04 1.98 1.93 2.76 2.70 11320.64 14207.02 1388 112.57 330.01 91.80 99.33 76.90 77.43 145.35 1531 107.71 100.69 151.59 254.84 107.03 88.30 87.37 88.41 90.34 19806.55 27044.65 2420.24 202.35 57.01 96.20 76.07 75.87 152.17 3079 83.07 81.34 126.82 253.71 103.37 82.25 87.98 89.53 89.96 19836.92 27426.18 1643.91 202.81 57.58 96.00 75.27 75.50 146.17 2796 78.51 83.86 126.27 251.98 99.33 68.56 80.29 88.82 90.23 19903.83 27437.35 1863.23 203.12 57.26 97.60 79.73 79.93 148.37 1496 107.15 90.65 148.68 241.73 105.88 83.48 88.23 89.59 89.15 14233.48 15722.56 2357.81 181.39 52.42 94.80 78.70 78.47 146.05 3272 81.20 72.24 146.23 240.68 100.35 89.60 87.42 91.12 93.61 14144.83 15747.16 2500 2021.72 182.00 52.62 94.40 78.53 78.27 147.93 2546 73.47 69.46 183.73 240.84 101.17 92.55 92.80 92.79 94.70 14135.51 15762.83 2500 1940.40 182.07 52.59 OpenBenchmarking.org
FS-Mark Test: 5000 Files, 1MB Size, 4 Threads Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.69, N = 3 SE +/- 0.73, N = 6 SE +/- 1.17, N = 6 SE +/- 0.13, N = 3 SE +/- 0.12, N = 3 SE +/- 0.40, N = 3 SE +/- 0.00, N = 3 SE +/- 0.23, N = 3 SE +/- 0.23, N = 3 36.00 35.03 36.07 99.33 96.20 96.00 97.60 94.80 94.40 1. (CC) gcc options: -static
FS-Mark Test: 1000 Files, 1MB Size Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.03, N = 3 SE +/- 0.19, N = 3 SE +/- 0.15, N = 3 SE +/- 0.75, N = 3 SE +/- 0.74, N = 3 SE +/- 0.79, N = 3 SE +/- 1.02, N = 3 SE +/- 0.75, N = 3 SE +/- 0.82, N = 3 17.77 16.23 19.53 76.90 76.07 75.27 79.73 78.70 78.53 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.12, N = 3 SE +/- 0.67, N = 6 SE +/- 0.37, N = 3 SE +/- 0.03, N = 3 SE +/- 0.20, N = 3 SE +/- 0.15, N = 3 SE +/- 0.22, N = 3 SE +/- 0.19, N = 3 SE +/- 0.23, N = 3 18.20 17.22 20.57 77.43 75.87 75.50 79.93 78.47 78.27 1. (CC) gcc options: -static
FS-Mark Test: 1000 Files, 1MB Size, No Sync/FSync Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size, No Sync/FSync CFQ Noop Deadline 30 60 90 120 150 SE +/- 1.33, N = 3 SE +/- 0.89, N = 3 SE +/- 1.10, N = 3 SE +/- 2.33, N = 6 SE +/- 0.71, N = 3 SE +/- 2.71, N = 3 SE +/- 2.21, N = 3 SE +/- 2.35, N = 4 SE +/- 2.25, N = 3 68.70 68.10 68.60 145.35 152.17 146.17 148.37 146.05 147.93 1. (CC) gcc options: -static
BlogBench Test: Write Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Write CFQ Noop Deadline 700 1400 2100 2800 3500 SE +/- 17.23, N = 6 SE +/- 12.94, N = 6 SE +/- 12.59, N = 5 SE +/- 23.59, N = 6 SE +/- 173.66, N = 6 SE +/- 107.67, N = 6 SE +/- 27.43, N = 3 SE +/- 99.29, N = 6 SE +/- 63.96, N = 6 923 783 882 1531 3079 2796 1496 3272 2546 1. (CC) gcc options: -O2 -pthread
Compile Bench Test: Compile Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.18, N = 3 SE +/- 0.50, N = 3 SE +/- 0.46, N = 3 SE +/- 0.62, N = 3 SE +/- 0.53, N = 3 SE +/- 1.07, N = 3 SE +/- 0.62, N = 3 SE +/- 2.82, N = 6 SE +/- 0.53, N = 3 40.33 36.28 43.61 107.71 83.07 78.51 107.15 81.20 73.47
Compile Bench Test: Initial Create Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.11, N = 2 SE +/- 0.71, N = 3 SE +/- 3.02, N = 3 SE +/- 1.90, N = 3 SE +/- 0.13, N = 3 SE +/- 2.04, N = 3 SE +/- 3.46, N = 3 SE +/- 0.78, N = 3 SE +/- 1.84, N = 3 47.62 45.71 45.65 100.69 81.34 83.86 90.65 72.24 69.46
Compile Bench Test: Read Compiled Tree Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Read Compiled Tree CFQ Noop Deadline 40 80 120 160 200 SE +/- 0.90, N = 3 SE +/- 0.46, N = 3 SE +/- 0.91, N = 3 SE +/- 1.30, N = 3 SE +/- 1.12, N = 3 SE +/- 2.50, N = 3 SE +/- 1.66, N = 3 SE +/- 1.97, N = 3 SE +/- 37.24, N = 3 48.68 51.19 50.43 151.59 126.82 126.27 148.68 146.23 183.73
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better IOzone 3.347 Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance CFQ Noop Deadline 60 120 180 240 300 SE +/- 0.26, N = 3 SE +/- 0.29, N = 3 SE +/- 0.31, N = 3 SE +/- 0.03, N = 3 SE +/- 0.30, N = 3 SE +/- 0.71, N = 3 SE +/- 0.04, N = 3 SE +/- 0.29, N = 3 SE +/- 0.49, N = 3 65.47 62.49 64.36 254.84 253.71 251.98 241.73 240.68 240.84 1. (CC) gcc options: -O3
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better IOzone 3.347 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance CFQ Noop Deadline 20 40 60 80 100 SE +/- 2.88, N = 6 SE +/- 3.28, N = 6 SE +/- 3.31, N = 6 SE +/- 0.33, N = 3 SE +/- 0.06, N = 3 SE +/- 1.61, N = 3 SE +/- 1.04, N = 3 SE +/- 2.03, N = 6 SE +/- 0.80, N = 3 52.36 56.01 54.04 107.03 103.37 99.33 105.88 100.35 101.17 1. (CC) gcc options: -O3
Threaded I/O Tester Test: Random Write - Size Per Thread: 128MB - Thread Count: 8 Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 128MB - Thread Count: 8 CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.01, N = 4 SE +/- 0.01, N = 4 SE +/- 0.01, N = 4 SE +/- 0.48, N = 4 SE +/- 5.55, N = 8 SE +/- 8.87, N = 8 SE +/- 5.33, N = 8 SE +/- 2.45, N = 8 SE +/- 0.21, N = 4 2.01 1.82 1.98 88.30 82.25 68.56 83.48 89.60 92.55
Threaded I/O Tester Test: Random Write - Size Per Thread: 128MB - Thread Count: 16 Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 128MB - Thread Count: 16 CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.02, N = 4 SE +/- 0.02, N = 4 SE +/- 0.02, N = 4 SE +/- 0.38, N = 4 SE +/- 0.39, N = 4 SE +/- 5.12, N = 8 SE +/- 0.13, N = 4 SE +/- 3.68, N = 8 SE +/- 0.20, N = 4 1.93 1.74 1.93 87.37 87.98 80.29 88.23 87.42 92.80
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 16 Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 64MB - Thread Count: 16 CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.01, N = 4 SE +/- 0.05, N = 8 SE +/- 0.03, N = 4 SE +/- 0.18, N = 4 SE +/- 0.23, N = 4 SE +/- 0.75, N = 4 SE +/- 0.14, N = 4 SE +/- 1.30, N = 8 SE +/- 1.05, N = 4 2.74 2.20 2.76 88.41 89.53 88.82 89.59 91.12 92.79
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org MB/s, More Is Better Threaded I/O Tester 0.3.3 Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.03, N = 4 SE +/- 0.15, N = 8 SE +/- 0.02, N = 4 SE +/- 0.46, N = 4 SE +/- 0.16, N = 4 SE +/- 0.36, N = 4 SE +/- 1.13, N = 8 SE +/- 0.09, N = 4 SE +/- 0.24, N = 4 2.74 2.68 2.70 90.34 89.96 90.23 89.15 93.61 94.70
Apache Benchmark Static Web Page Serving Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Requests Per Second, More Is Better Apache Benchmark 2.2.21 Static Web Page Serving CFQ Noop Deadline 4K 8K 12K 16K 20K SE +/- 39.53, N = 3 SE +/- 26.41, N = 3 SE +/- 93.72, N = 3 SE +/- 92.62, N = 3 SE +/- 174.94, N = 3 SE +/- 43.97, N = 3 SE +/- 45.95, N = 3 SE +/- 81.17, N = 3 SE +/- 53.71, N = 3 11255.18 11570.62 11320.64 19806.55 19836.92 19903.83 14233.48 14144.83 14135.51 1. (CC) gcc options: -O2 -pthread -lm -lrt -lcrypt -lpthread -ldl
NGINX Benchmark Static Web Page Serving Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Requests Per Second, More Is Better NGINX Benchmark 1.0.11 Static Web Page Serving CFQ Noop Deadline 6K 12K 18K 24K 30K SE +/- 64.83, N = 3 SE +/- 18.78, N = 3 SE +/- 40.09, N = 3 SE +/- 381.12, N = 3 SE +/- 368.02, N = 3 SE +/- 228.12, N = 3 SE +/- 144.33, N = 3 SE +/- 119.30, N = 3 SE +/- 78.35, N = 3 14157.59 14181.20 14207.02 27044.65 27426.18 27437.35 15722.56 15747.16 15762.83 1. (CC) gcc options: -lpthread -lcrypt -lz
PostMark Disk Transaction Performance Penryn + HDD Clarksfield + SSD OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance CFQ Noop Deadline 500 1000 1500 2000 2500 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 SE +/- 0.00, N = 5 1388 1388 1388 2500 2500
PostgreSQL pgbench TPC-B Transactions Per Second Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 8.4.11 TPC-B Transactions Per Second CFQ Noop Deadline 500 1000 1500 2000 2500 SE +/- 0.29, N = 3 SE +/- 0.75, N = 3 SE +/- 0.48, N = 3 SE +/- 114.10, N = 6 SE +/- 21.31, N = 3 SE +/- 51.48, N = 6 SE +/- 16.17, N = 3 SE +/- 80.83, N = 6 SE +/- 73.53, N = 6 112.00 112.76 112.57 2420.24 1643.91 1863.23 2357.81 2021.72 1940.40 1. (CC) gcc options: -O2 -fno-strict-aliasing -fwrapv -lpgport -lpq -lcrypt -ldl -lm
Timed Linux Kernel Compilation Time To Compile Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 3.1 Time To Compile CFQ Noop Deadline 70 140 210 280 350 SE +/- 0.82, N = 3 SE +/- 0.83, N = 3 SE +/- 0.75, N = 3 SE +/- 0.73, N = 3 SE +/- 0.76, N = 3 SE +/- 0.74, N = 3 SE +/- 0.55, N = 3 SE +/- 0.50, N = 3 SE +/- 0.51, N = 3 329.46 329.42 330.01 202.35 202.81 203.12 181.39 182.00 182.07
Timed PHP Compilation Time To Compile Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD OpenBenchmarking.org Seconds, Fewer Is Better Timed PHP Compilation 5.2.9 Time To Compile CFQ Noop Deadline 20 40 60 80 100 SE +/- 0.11, N = 3 SE +/- 0.16, N = 3 SE +/- 0.18, N = 3 SE +/- 0.06, N = 3 SE +/- 0.76, N = 3 SE +/- 0.36, N = 3 SE +/- 0.05, N = 3 SE +/- 0.01, N = 3 SE +/- 0.02, N = 3 91.75 91.89 91.80 57.01 57.58 57.26 52.42 52.62 52.59 1. (CC) gcc options: -O2 -pedantic -ldl -lz -lm
Phoronix Test Suite v10.8.5