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 Writecompilebench: Initial Createiozone: 4Kb - 8GB - Write Performancedbench: 6fio: 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.65515.0570.1838.2272.9178.82341.7071.83498.71142.0840.7467.7378.71338.0466.38486.2569.7538.8967.7881.86337.5673.78547.9968.6238.0335.2946.53336.2376.39534.1464.5737.8020.9341.58338.7834.06536.1966.5521.8521.1546.49818.4061.80544.0674.1938.7322.3043.66337.46501.1046.29339.78258.47448.2539.62854.76514.2841.10334.04231.40402.5339.76666.10531.9049.09331.68272.82392.3737.81795.14531.6941.94335.27188.06210.6938.32790.92552.7248.91332.99170.61283.5038.53880.18588.0149.54334.64145.41234.9738.50768.92560.9851.2056.17229.41290.1151.15OpenBenchmarking.org

PostgreSQL pgbench

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

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 CreateDeadlineNoopCFQMQ NoneMQ KyberMQ BFQMQ Deadline130260390520650SE +/- 25.27, N = 6SE +/- 18.12, N = 6SE +/- 25.26, N = 6SE +/- 25.14, N = 6SE +/- 23.07, N = 6SE +/- 6.02, N = 3SE +/- 20.19, N = 6SE +/- 8.17, N = 4SE +/- 9.64, N = 3SE +/- 14.76, N = 6SE +/- 17.28, N = 6SE +/- 17.66, N = 6SE +/- 13.74, N = 6SE +/- 10.08, N = 3486.25498.71515.05534.14536.19544.06547.99501.10514.28531.69531.90552.72560.98588.01

IOzone

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

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

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: 6MQ BFQMQ KyberMQ NoneCFQMQ DeadlineDeadlineNoop70140210280350SE +/- 3.69, N = 6SE +/- 0.27, N = 3SE +/- 0.16, N = 3SE +/- 0.74, N = 3SE +/- 0.19, N = 3SE +/- 0.31, N = 3SE +/- 0.45, N = 3SE +/- 0.62, N = 3SE +/- 1.61, N = 3SE +/- 3.70, N = 3SE +/- 1.51, N = 3SE +/- 0.92, N = 3SE +/- 4.65, N = 3SE +/- 2.66, N = 321.8537.8038.0338.2238.7338.8940.7456.17331.68332.99334.04334.64335.27339.781. (CC) gcc options: -lpopt -O2

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 DirectoryMQ KyberMQ BFQMQ DeadlineMQ NoneNoopDeadlineCFQ15K30K45K60K75KSE +/- 34.02, N = 3SE +/- 26.18, N = 3SE +/- 138.39, N = 6SE +/- 161.26, N = 6SE +/- 428.90, N = 6SE +/- 245.71, N = 3SE +/- 329.04, N = 3SE +/- 5290.73, N = 6SE +/- 5587.60, N = 6SE +/- 8230.37, N = 6SE +/- 6652.20, N = 6SE +/- 4254.36, N = 6SE +/- 4632.36, N = 6SE +/- 4907.39, N = 65229528355728818169291694218223363484265047011573505784764615682001. (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 DirectoryMQ KyberMQ BFQMQ DeadlineMQ NoneNoopDeadlineCFQ60120180240300SE +/- 0.14, N = 3SE +/- 0.10, N = 3SE +/- 0.55, N = 6SE +/- 0.65, N = 6SE +/- 1.72, N = 6SE +/- 0.98, N = 3SE +/- 1.32, N = 3SE +/- 21.16, N = 6SE +/- 22.35, N = 6SE +/- 32.92, N = 6SE +/- 26.61, N = 6SE +/- 17.02, N = 6SE +/- 18.53, N = 6SE +/- 19.63, N = 620.9321.1522.3035.2967.7367.7872.91145.41170.61188.06229.41231.40258.47272.821. (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 DirectoryMQ KyberMQ DeadlineMQ BFQMQ NoneNoopCFQDeadline20K40K60K80K100KSE +/- 286.16, N = 6SE +/- 423.30, N = 6SE +/- 502.38, N = 6SE +/- 41.20, N = 3SE +/- 321.92, N = 3SE +/- 105.30, N = 3SE +/- 108.91, N = 3SE +/- 477.54, N = 3SE +/- 8929.58, N = 6SE +/- 121.94, N = 3SE +/- 269.62, N = 3SE +/- 56.40, N = 3SE +/- 140.58, N = 3SE +/- 168.96, N = 31039110911116191162819675197012046152670587397087272524980901006281120591. (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 DirectoryMQ KyberMQ DeadlineMQ BFQMQ NoneNoopCFQDeadline100200300400500SE +/- 1.14, N = 6SE +/- 1.69, N = 6SE +/- 2.01, N = 6SE +/- 0.17, N = 3SE +/- 1.29, N = 3SE +/- 0.42, N = 3SE +/- 0.44, N = 3SE +/- 1.91, N = 3SE +/- 35.72, N = 6SE +/- 0.49, N = 3SE +/- 1.08, N = 3SE +/- 0.23, N = 3SE +/- 0.56, N = 3SE +/- 0.68, N = 341.5843.6646.4946.5378.7178.8281.86210.69234.97283.50290.11392.37402.53448.251. (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 DirectoryMQ BFQCFQMQ KyberNoopDeadlineMQ DeadlineMQ None2004006008001000SE +/- 4.45, N = 3SE +/- 4.99, N = 5SE +/- 1.44, N = 3SE +/- 1.10, N = 3SE +/- 0.37, N = 3SE +/- 0.46, N = 3SE +/- 0.50, N = 3SE +/- 4.60, N = 6SE +/- 3.77, N = 6SE +/- 3.10, N = 6SE +/- 2.04, N = 6SE +/- 1.40, N = 6SE +/- 2.80, N = 6SE +/- 2.15, N = 6818.40341.70338.78338.04337.56337.46336.2351.1539.7639.6238.5338.5038.3237.811. (CC) gcc options: -O2 -ldl -lpthread