I/O Scheduler Testing HDD SSD Linux 4.12

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
Jump To Table - Results

View

Do Not Show Noisy Results
Do Not Show Results With Incomplete Data
Do Not Show Results With Little Change/Spread
List Notable Results
Show Result Confidence Charts
Allow Limiting Results To Certain Suite(s)

Statistics

Show Overall Harmonic Mean(s)
Show Overall Geometric Mean
Show Wins / Losses Counts (Pie Chart)
Normalize Results
Remove Outliers Before Calculating Averages

Graph Settings

Force Line Graphs Where Applicable
Convert To Scalar Where Applicable
Prefer Vertical Bar Graphs
On Line Graphs With Missing Data, Connect The Line Gaps

Multi-Way Comparison

Condense Comparison
Transpose Comparison

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
HDD: CFQ
June 22 2017
 
HDD: Noop
June 22 2017
 
HDD: Deadline
June 22 2017
 
HDD: MQ None
June 22 2017
 
HDD: MQ Kyber
June 22 2017
 
HDD: MQ BFQ
June 23 2017
 
HDD: MQ Deadline
June 23 2017
 
SSD: CFQ
June 23 2017
 
SSD: Deadline
June 23 2017
 
SSD: Noop
June 23 2017
 
SSD: MQ None
June 24 2017
 
SSD: MQ Deadline
June 24 2017
 
SSD: MQ Kyber
June 24 2017
 
SSD: MQ BFQ
June 24 2017
 
Invert Behavior (Only Show Selected Data)
 

Only show results where is faster than
Only show results matching title/arguments (delimit multiple options with a comma):
Do not show results matching title/arguments (delimit multiple options with a comma):


I/O Scheduler Testing HDD SSD Linux 4.12OpenBenchmarking.orgPhoronix Test SuiteIntel Core i7-7700K @ 4.50GHz (8 Cores)MSI Z270-A PRO (MS-7A71) v1.0Intel Device 591f + Z27016384MB1000GB Western Digital WD10EZRX-00A + Samsung SSD 950 PRO 256GB128GB ADATA SU800 + Samsung SSD 950 PRO 256GBMSI AMD Radeon RX 470/480 8192MBRealtek ALC892Acer B286HKRealtek RTL8111/8168/8411Ubuntu 17.044.12.0-999-generic (x86_64) 20170618Unity 7.5.0X Server 1.19.3modesetting 1.19.34.5 Mesa 17.2.0-devel- padoka PPA Gallium 0.4 (LLVM 5.0.0)1.0.42GCC 6.3.0 20170406ext43840x2160ProcessorMotherboardChipsetMemoryDisksGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLVulkanCompilerFile-SystemScreen ResolutionI/O Scheduler Testing HDD SSD Linux 4.12 BenchmarksSystem Logs- --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 - 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- Scaling Governor: intel_pstate powersave- Python 2.7.13.

pgbench: On-Disk - Normal Load - Read Writedbench: 6compilebench: Initial Createiozone: 4Kb - 8GB - Write Performancefio: Seq Write - Libaio - No - Yes - 4KB - Default Test Directoryfio: Seq Read - Libaio - No - Yes - 4KB - Default Test Directorysqlite: Default Test DirectoryHDDSSD CFQ Noop Deadline MQ None MQ Kyber MQ BFQ MQ Deadline CFQ Deadline Noop MQ None MQ Deadline MQ Kyber MQ BFQ71.6538.22515.0570.1872.9178.82341.7071.8340.74498.71142.0867.7378.71338.0466.3838.89486.2569.7567.7881.86337.5673.7838.03547.9968.6235.2946.53336.2376.3937.80534.1464.5720.9341.58338.7834.0621.85536.1966.5521.1546.49818.4061.8038.73544.0674.1922.3043.66337.46339.78501.1046.29258.47448.2539.62854.76334.04514.2841.10231.40402.5339.76666.10331.68531.9049.09272.82392.3737.81795.14335.27531.6941.94188.06210.6938.32790.92332.99552.7248.91170.61283.5038.53880.18334.64588.0149.54145.41234.9738.50768.9256.17560.9851.20229.41290.1151.15OpenBenchmarking.org

PostgreSQL pgbench

HDDSSDOpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 9.6.3Scaling: On-Disk - Test: Normal Load - Mode: Read WriteCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline200400600800100071.6571.8366.3873.7876.3934.0661.80854.76666.10795.14790.92880.18768.921. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -fpic -lpgcommon -lpgport -lrt -lcrypt -ldl -lm

Dbench

Dbench is a benchmark designed by the Samba project as a free alternative to netbench, but dbench contains only file-system calls for testing the disk performance. Learn more via the OpenBenchmarking.org test page.

HDDSSDOpenBenchmarking.orgMB/s, More Is BetterDbench 4.0Client Count: 6CFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline70140210280350SE +/- 0.74, N = 3SE +/- 0.45, N = 3SE +/- 0.31, N = 3SE +/- 0.16, N = 3SE +/- 0.27, N = 3SE +/- 3.69, N = 6SE +/- 0.19, N = 3SE +/- 2.66, N = 3SE +/- 1.51, N = 3SE +/- 1.61, N = 3SE +/- 4.65, N = 3SE +/- 3.70, N = 3SE +/- 0.92, N = 3SE +/- 0.62, N = 338.2240.7438.8938.0337.8021.8538.73339.78334.04331.68335.27332.99334.6456.171. (CC) gcc options: -lpopt -O2

Compile Bench

Compilebench tries to age a filesystem by simulating some of the disk IO common in creating, compiling, patching, stating and reading kernel trees. It indirectly measures how well filesystems can maintain directory locality as the disk fills up and directories age. This current test is setup to use the makej mode with 10 initial directories Learn more via the OpenBenchmarking.org test page.

HDDSSDOpenBenchmarking.orgMB/s, More Is BetterCompile Bench 0.6Test: Initial CreateCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline130260390520650SE +/- 25.26, N = 6SE +/- 18.12, N = 6SE +/- 25.27, N = 6SE +/- 20.19, N = 6SE +/- 25.14, N = 6SE +/- 23.07, N = 6SE +/- 6.02, N = 3SE +/- 8.17, N = 4SE +/- 9.64, N = 3SE +/- 17.28, N = 6SE +/- 14.76, N = 6SE +/- 17.66, N = 6SE +/- 10.08, N = 3SE +/- 13.74, N = 6515.05498.71486.25547.99534.14536.19544.06501.10514.28531.90531.69552.72588.01560.98

IOzone

The IOzone benchmark tests the hard disk drive / file-system performance. Learn more via the OpenBenchmarking.org test page.

HDDSSDOpenBenchmarking.orgMB/s, More Is BetterIOzone 3.405Record Size: 4Kb - File Size: 8GB - Disk Test: Write PerformanceCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline306090120150SE +/- 0.75, N = 3SE +/- 0.54, N = 3SE +/- 0.93, N = 3SE +/- 0.81, N = 3SE +/- 0.86, N = 3SE +/- 0.87, N = 3SE +/- 0.49, N = 3SE +/- 3.07, N = 6SE +/- 2.13, N = 6SE +/- 2.75, N = 6SE +/- 3.14, N = 6SE +/- 3.17, N = 6SE +/- 3.19, N = 6SE +/- 1.44, N = 670.18142.0869.7568.6264.5766.5574.1946.2941.1049.0941.9448.9149.5451.201. (CC) gcc options: -O3

Flexible IO Tester

HDDSSDOpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline15K30K45K60K75KSE +/- 329.04, N = 3SE +/- 428.90, N = 6SE +/- 245.71, N = 3SE +/- 161.26, N = 6SE +/- 34.02, N = 3SE +/- 26.18, N = 3SE +/- 138.39, N = 6SE +/- 4632.36, N = 6SE +/- 4254.36, N = 6SE +/- 4907.39, N = 6SE +/- 8230.37, N = 6SE +/- 5587.60, N = 6SE +/- 5290.73, N = 6SE +/- 6652.20, N = 61822316929169428818522952835572646155784768200470114265036348573501. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

HDDSSDOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Write - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline60120180240300SE +/- 1.32, N = 3SE +/- 1.72, N = 6SE +/- 0.98, N = 3SE +/- 0.65, N = 6SE +/- 0.14, N = 3SE +/- 0.10, N = 3SE +/- 0.55, N = 6SE +/- 18.53, N = 6SE +/- 17.02, N = 6SE +/- 19.63, N = 6SE +/- 32.92, N = 6SE +/- 22.35, N = 6SE +/- 21.16, N = 6SE +/- 26.61, N = 672.9167.7367.7835.2920.9321.1522.30258.47231.40272.82188.06170.61145.41229.411. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

HDDSSDOpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline20K40K60K80K100KSE +/- 105.30, N = 3SE +/- 321.92, N = 3SE +/- 108.91, N = 3SE +/- 41.20, N = 3SE +/- 286.16, N = 6SE +/- 502.38, N = 6SE +/- 423.30, N = 6SE +/- 168.96, N = 3SE +/- 140.58, N = 3SE +/- 56.40, N = 3SE +/- 477.54, N = 3SE +/- 121.94, N = 3SE +/- 8929.58, N = 6SE +/- 269.62, N = 31970119675204611162810391116191091111205910062898090526707087258739725241. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

HDDSSDOpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 2.1.13Type: Sequential Read - IO Engine: Libaio - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline100200300400500SE +/- 0.42, N = 3SE +/- 1.29, N = 3SE +/- 0.44, N = 3SE +/- 0.17, N = 3SE +/- 1.14, N = 6SE +/- 2.01, N = 6SE +/- 1.69, N = 6SE +/- 0.68, N = 3SE +/- 0.56, N = 3SE +/- 0.23, N = 3SE +/- 1.91, N = 3SE +/- 0.49, N = 3SE +/- 35.72, N = 6SE +/- 1.08, N = 378.8278.7181.8646.5341.5846.4943.66448.25402.53392.37210.69283.50234.97290.111. (CC) gcc options: -rdynamic -std=gnu99 -O3 -ffast-math -include -lnuma -libverbs -lrt -laio -lz -lm -lpthread -ldl

SQLite

This is a simple benchmark of SQLite. At present this test profile just measures the time to perform a pre-defined number of insertions on an indexed database. Learn more via the OpenBenchmarking.org test page.

HDDSSDOpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.8.10.2Test Target: Default Test DirectoryCFQNoopDeadlineMQ NoneMQ KyberMQ BFQMQ Deadline2004006008001000SE +/- 4.99, N = 5SE +/- 1.10, N = 3SE +/- 0.37, N = 3SE +/- 0.50, N = 3SE +/- 1.44, N = 3SE +/- 4.45, N = 3SE +/- 0.46, N = 3SE +/- 3.10, N = 6SE +/- 3.77, N = 6SE +/- 2.15, N = 6SE +/- 2.80, N = 6SE +/- 2.04, N = 6SE +/- 1.40, N = 6SE +/- 4.60, N = 6341.70338.04337.56336.23338.78818.40337.4639.6239.7637.8138.3238.5338.5051.151. (CC) gcc options: -O2 -ldl -lpthread