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&grs&sro .
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.
tiobench: Rand Write - 128MB - 16 tiobench: Rand Write - 64MB - 16 fs-mark: 1000 Files, 1MB Size fs-mark: 4000 Files, 32 Sub Dirs, 1MB Size iozone: 64Kb - 8GB - Read Performance tiobench: Rand Write - 64MB - 8 compilebench: Read Compiled Tree compilebench: Compile fs-mark: 5000 Files, 1MB Size, 4 Threads fs-mark: 1000 Files, 1MB Size, No Sync/FSync compilebench: Initial Create nginx: Static Web Page Serving build-linux-kernel: Time To Compile postmark: Disk Transaction Performance apache: Static Web Page Serving build-php: Time To Compile pgbench: TPC-B Transactions Per Second tiobench: Rand Write - 128MB - 8 iozone: 64Kb - 8GB - Write Performance blogbench: Write Penryn + HDD Sandy Bridge + SSD Clarksfield + SSD CFQ Noop Deadline CFQ Noop Deadline CFQ Noop Deadline 1.93 2.74 17.77 18.20 65.47 2.74 48.68 40.33 36.00 68.70 47.62 14157.59 329.46 1388 11255.18 91.75 112.00 2.01 52.36 923 1.74 2.20 16.23 17.22 62.49 2.68 51.19 36.28 35.03 68.10 45.71 14181.20 329.42 1388 11570.62 91.89 112.76 1.82 56.01 783 1.93 2.76 19.53 20.57 64.36 2.70 50.43 43.61 36.07 68.60 45.65 14207.02 330.01 1388 11320.64 91.80 112.57 1.98 54.04 882 87.37 88.41 76.90 77.43 254.84 90.34 151.59 107.71 99.33 145.35 100.69 27044.65 202.35 19806.55 57.01 2420.24 88.30 107.03 1531 87.98 89.53 76.07 75.87 253.71 89.96 126.82 83.07 96.20 152.17 81.34 27426.18 202.81 19836.92 57.58 1643.91 82.25 103.37 3079 80.29 88.82 75.27 75.50 251.98 90.23 126.27 78.51 96.00 146.17 83.86 27437.35 203.12 19903.83 57.26 1863.23 68.56 99.33 2796 88.23 89.59 79.73 79.93 241.73 89.15 148.68 107.15 97.60 148.37 90.65 15722.56 181.39 14233.48 52.42 2357.81 83.48 105.88 1496 87.42 91.12 78.70 78.47 240.68 93.61 146.23 81.20 94.80 146.05 72.24 15747.16 182.00 2500 14144.83 52.62 2021.72 89.60 100.35 3272 92.80 92.79 78.53 78.27 240.84 94.70 183.73 73.47 94.40 147.93 69.46 15762.83 182.07 2500 14135.51 52.59 1940.40 92.55 101.17 2546 OpenBenchmarking.org
Threaded I/O Tester Test: Random Write - Size Per Thread: 128MB - Thread Count: 16 Clarksfield + SSD Penryn + HDD Sandy Bridge + 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 Deadline Noop 20 40 60 80 100 SE +/- 0.13, N = 4 SE +/- 0.20, N = 4 SE +/- 3.68, N = 8 SE +/- 0.02, N = 4 SE +/- 0.02, N = 4 SE +/- 0.02, N = 4 SE +/- 0.38, N = 4 SE +/- 5.12, N = 8 SE +/- 0.39, N = 4 88.23 92.80 87.42 1.93 1.93 1.74 87.37 80.29 87.98
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 16 Clarksfield + SSD Penryn + HDD Sandy Bridge + 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 Deadline Noop 20 40 60 80 100 SE +/- 0.14, N = 4 SE +/- 1.05, N = 4 SE +/- 1.30, N = 8 SE +/- 0.01, N = 4 SE +/- 0.03, N = 4 SE +/- 0.05, N = 8 SE +/- 0.18, N = 4 SE +/- 0.75, N = 4 SE +/- 0.23, N = 4 89.59 92.79 91.12 2.74 2.76 2.20 88.41 88.82 89.53
FS-Mark Test: 1000 Files, 1MB Size Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size CFQ Deadline Noop 20 40 60 80 100 SE +/- 1.02, N = 3 SE +/- 0.82, N = 3 SE +/- 0.75, N = 3 SE +/- 0.03, N = 3 SE +/- 0.15, N = 3 SE +/- 0.19, N = 3 SE +/- 0.75, N = 3 SE +/- 0.79, N = 3 SE +/- 0.74, N = 3 79.73 78.53 78.70 17.77 19.53 16.23 76.90 75.27 76.07 1. (CC) gcc options: -static
FS-Mark Test: 4000 Files, 32 Sub Dirs, 1MB Size Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 4000 Files, 32 Sub Dirs, 1MB Size CFQ Deadline Noop 20 40 60 80 100 SE +/- 0.22, N = 3 SE +/- 0.23, N = 3 SE +/- 0.19, N = 3 SE +/- 0.12, N = 3 SE +/- 0.37, N = 3 SE +/- 0.67, N = 6 SE +/- 0.03, N = 3 SE +/- 0.15, N = 3 SE +/- 0.20, N = 3 79.93 78.27 78.47 18.20 20.57 17.22 77.43 75.50 75.87 1. (CC) gcc options: -static
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org MB/s, More Is Better IOzone 3.347 Record Size: 64Kb - File Size: 8GB - Disk Test: Read Performance CFQ Deadline Noop 60 120 180 240 300 SE +/- 0.04, N = 3 SE +/- 0.49, N = 3 SE +/- 0.29, N = 3 SE +/- 0.26, N = 3 SE +/- 0.31, N = 3 SE +/- 0.29, N = 3 SE +/- 0.03, N = 3 SE +/- 0.71, N = 3 SE +/- 0.30, N = 3 241.73 240.84 240.68 65.47 64.36 62.49 254.84 251.98 253.71 1. (CC) gcc options: -O3
Threaded I/O Tester Test: Random Write - Size Per Thread: 64MB - Thread Count: 8 Clarksfield + SSD Penryn + HDD Sandy Bridge + 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 Deadline Noop 20 40 60 80 100 SE +/- 1.13, N = 8 SE +/- 0.24, N = 4 SE +/- 0.09, N = 4 SE +/- 0.03, N = 4 SE +/- 0.02, N = 4 SE +/- 0.15, N = 8 SE +/- 0.46, N = 4 SE +/- 0.36, N = 4 SE +/- 0.16, N = 4 89.15 94.70 93.61 2.74 2.70 2.68 90.34 90.23 89.96
Compile Bench Test: Read Compiled Tree Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Read Compiled Tree CFQ Deadline Noop 40 80 120 160 200 SE +/- 1.66, N = 3 SE +/- 37.24, N = 3 SE +/- 1.97, N = 3 SE +/- 0.90, N = 3 SE +/- 0.91, N = 3 SE +/- 0.46, N = 3 SE +/- 1.30, N = 3 SE +/- 2.50, N = 3 SE +/- 1.12, N = 3 148.68 183.73 146.23 48.68 50.43 51.19 151.59 126.27 126.82
Compile Bench Test: Compile Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Compile CFQ Deadline Noop 20 40 60 80 100 SE +/- 0.62, N = 3 SE +/- 0.53, N = 3 SE +/- 2.82, N = 6 SE +/- 0.18, N = 3 SE +/- 0.46, N = 3 SE +/- 0.50, N = 3 SE +/- 0.62, N = 3 SE +/- 1.07, N = 3 SE +/- 0.53, N = 3 107.15 73.47 81.20 40.33 43.61 36.28 107.71 78.51 83.07
FS-Mark Test: 5000 Files, 1MB Size, 4 Threads Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 5000 Files, 1MB Size, 4 Threads CFQ Deadline Noop 20 40 60 80 100 SE +/- 0.00, N = 3 SE +/- 0.23, N = 3 SE +/- 0.23, N = 3 SE +/- 0.69, N = 3 SE +/- 1.17, N = 6 SE +/- 0.73, N = 6 SE +/- 0.13, N = 3 SE +/- 0.40, N = 3 SE +/- 0.12, N = 3 97.60 94.40 94.80 36.00 36.07 35.03 99.33 96.00 96.20 1. (CC) gcc options: -static
FS-Mark Test: 1000 Files, 1MB Size, No Sync/FSync Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Files/s, More Is Better FS-Mark 3.3 Test: 1000 Files, 1MB Size, No Sync/FSync CFQ Deadline Noop 30 60 90 120 150 SE +/- 2.21, N = 3 SE +/- 2.25, N = 3 SE +/- 2.35, N = 4 SE +/- 1.33, N = 3 SE +/- 1.10, N = 3 SE +/- 0.89, N = 3 SE +/- 2.33, N = 6 SE +/- 2.71, N = 3 SE +/- 0.71, N = 3 148.37 147.93 146.05 68.70 68.60 68.10 145.35 146.17 152.17 1. (CC) gcc options: -static
Compile Bench Test: Initial Create Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org MB/s, More Is Better Compile Bench 0.6 Test: Initial Create CFQ Deadline Noop 20 40 60 80 100 SE +/- 3.46, N = 3 SE +/- 1.84, N = 3 SE +/- 0.78, N = 3 SE +/- 0.11, N = 2 SE +/- 3.02, N = 3 SE +/- 0.71, N = 3 SE +/- 1.90, N = 3 SE +/- 2.04, N = 3 SE +/- 0.13, N = 3 90.65 69.46 72.24 47.62 45.65 45.71 100.69 83.86 81.34
NGINX Benchmark Static Web Page Serving Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Requests Per Second, More Is Better NGINX Benchmark 1.0.11 Static Web Page Serving CFQ Deadline Noop 6K 12K 18K 24K 30K SE +/- 144.33, N = 3 SE +/- 78.35, N = 3 SE +/- 119.30, N = 3 SE +/- 64.83, N = 3 SE +/- 40.09, N = 3 SE +/- 18.78, N = 3 SE +/- 381.12, N = 3 SE +/- 228.12, N = 3 SE +/- 368.02, N = 3 15722.56 15762.83 15747.16 14157.59 14207.02 14181.20 27044.65 27437.35 27426.18 1. (CC) gcc options: -lpthread -lcrypt -lz
Timed Linux Kernel Compilation Time To Compile Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 3.1 Time To Compile CFQ Deadline Noop 70 140 210 280 350 SE +/- 0.55, N = 3 SE +/- 0.51, N = 3 SE +/- 0.50, N = 3 SE +/- 0.82, N = 3 SE +/- 0.75, N = 3 SE +/- 0.83, N = 3 SE +/- 0.73, N = 3 SE +/- 0.74, N = 3 SE +/- 0.76, N = 3 181.39 182.07 182.00 329.46 330.01 329.42 202.35 203.12 202.81
PostMark Disk Transaction Performance Clarksfield + SSD Penryn + HDD OpenBenchmarking.org TPS, More Is Better PostMark 1.51 Disk Transaction Performance Deadline Noop CFQ 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 2500 2500 1388 1388 1388
Apache Benchmark Static Web Page Serving Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Requests Per Second, More Is Better Apache Benchmark 2.2.21 Static Web Page Serving CFQ Deadline Noop 4K 8K 12K 16K 20K SE +/- 45.95, N = 3 SE +/- 53.71, N = 3 SE +/- 81.17, N = 3 SE +/- 39.53, N = 3 SE +/- 93.72, N = 3 SE +/- 26.41, N = 3 SE +/- 92.62, N = 3 SE +/- 43.97, N = 3 SE +/- 174.94, N = 3 14233.48 14135.51 14144.83 11255.18 11320.64 11570.62 19806.55 19903.83 19836.92 1. (CC) gcc options: -O2 -pthread -lm -lrt -lcrypt -lpthread -ldl
Timed PHP Compilation Time To Compile Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Seconds, Fewer Is Better Timed PHP Compilation 5.2.9 Time To Compile CFQ Deadline Noop 20 40 60 80 100 SE +/- 0.05, N = 3 SE +/- 0.02, N = 3 SE +/- 0.01, N = 3 SE +/- 0.11, N = 3 SE +/- 0.18, N = 3 SE +/- 0.16, N = 3 SE +/- 0.06, N = 3 SE +/- 0.36, N = 3 SE +/- 0.76, N = 3 52.42 52.59 52.62 91.75 91.80 91.89 57.01 57.26 57.58 1. (CC) gcc options: -O2 -pedantic -ldl -lz -lm
PostgreSQL pgbench TPC-B Transactions Per Second Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org TPS, More Is Better PostgreSQL pgbench 8.4.11 TPC-B Transactions Per Second CFQ Deadline Noop 500 1000 1500 2000 2500 SE +/- 16.17, N = 3 SE +/- 73.53, N = 6 SE +/- 80.83, N = 6 SE +/- 0.29, N = 3 SE +/- 0.48, N = 3 SE +/- 0.75, N = 3 SE +/- 114.10, N = 6 SE +/- 51.48, N = 6 SE +/- 21.31, N = 3 2357.81 1940.40 2021.72 112.00 112.57 112.76 2420.24 1863.23 1643.91 1. (CC) gcc options: -O2 -fno-strict-aliasing -fwrapv -lpgport -lpq -lcrypt -ldl -lm
Threaded I/O Tester Test: Random Write - Size Per Thread: 128MB - Thread Count: 8 Clarksfield + SSD Penryn + HDD Sandy Bridge + 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 Deadline Noop 20 40 60 80 100 SE +/- 5.33, N = 8 SE +/- 0.21, N = 4 SE +/- 2.45, N = 8 SE +/- 0.01, N = 4 SE +/- 0.01, N = 4 SE +/- 0.01, N = 4 SE +/- 0.48, N = 4 SE +/- 8.87, N = 8 SE +/- 5.55, N = 8 83.48 92.55 89.60 2.01 1.98 1.82 88.30 68.56 82.25
IOzone Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org MB/s, More Is Better IOzone 3.347 Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance CFQ Deadline Noop 20 40 60 80 100 SE +/- 1.04, N = 3 SE +/- 0.80, N = 3 SE +/- 2.03, N = 6 SE +/- 2.88, N = 6 SE +/- 3.31, N = 6 SE +/- 3.28, N = 6 SE +/- 0.33, N = 3 SE +/- 1.61, N = 3 SE +/- 0.06, N = 3 105.88 101.17 100.35 52.36 54.04 56.01 107.03 99.33 103.37 1. (CC) gcc options: -O3
BlogBench Test: Write Clarksfield + SSD Penryn + HDD Sandy Bridge + SSD OpenBenchmarking.org Final Score, More Is Better BlogBench 1.0 Test: Write CFQ Deadline Noop 700 1400 2100 2800 3500 SE +/- 27.43, N = 3 SE +/- 63.96, N = 6 SE +/- 99.29, N = 6 SE +/- 17.23, N = 6 SE +/- 12.59, N = 5 SE +/- 12.94, N = 6 SE +/- 23.59, N = 6 SE +/- 107.67, N = 6 SE +/- 173.66, N = 6 1496 2546 3272 923 882 783 1531 2796 3079 1. (CC) gcc options: -O2 -pthread
Phoronix Test Suite v10.8.5