Linux 5.6 IO Scheduler Benchmarks

Linux 5.6 I/O scheduler benchmarks on NVMe SSD. Benchmarks by Michael Larabel for a future article.

Compare your own system(s) to this result file with the Phoronix Test Suite by running the command: phoronix-test-suite benchmark 2003265-NI-LINUX56IO44
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

Multi-Way Comparison

Condense Multi-Option Tests Into Single Result Graphs

Table

Show Detailed System Result Table

Run Management

Highlight
Result
Toggle/Hide
Result
Result
Identifier
View Logs
Performance Per
Dollar
Date
Run
  Test
  Duration
None
March 23 2020
  4 Hours
MQ-Deadline
March 23 2020
  8 Hours, 19 Minutes
Kyber
March 24 2020
  6 Hours, 57 Minutes
BFQ low-latency
March 24 2020
  8 Hours, 23 Minutes
BFQ
March 25 2020
  6 Hours, 51 Minutes
Invert Behavior (Only Show Selected Data)
  6 Hours, 54 Minutes

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):


Linux 5.6 IO Scheduler BenchmarksOpenBenchmarking.orgPhoronix Test SuiteAMD Ryzen Threadripper 3970X 32-Core @ 3.70GHz (32 Cores / 64 Threads)ASUS ROG ZENITH II EXTREME (0702 BIOS)AMD Starship/Matisse64GB1000GB Force MP600Gigabyte AMD Radeon RX 5500/5500M / Pro 5500M 8GB (1890/875MHz)AMD Navi 10 HDMI AudioASUS MG28UAquantia AQC107 NBase-T/IEEE + Intel I211 + Intel Wi-Fi 6 AX200Ubuntu 20.045.6.0-050600rc7-generic (x86_64) 20200322GNOME Shell 3.35.91X Server 1.20.7modesetting 1.20.74.6 Mesa 20.0.0 (LLVM 9.0.1)GCC 9.3.0ext41280x8003840x2160ProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionsLinux 5.6 IO Scheduler Benchmarks PerformanceSystem Logs- --build=x86_64-linux-gnu --disable-vtable-verify --disable-werror --enable-checking=release --enable-clocale=gnu --enable-default-pie --enable-gnu-unique-object --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none,hsa --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-default-libstdcxx-abi=new --with-gcc-major-version-only --with-multilib-list=m32,m64,mx32 --with-target-system-zlib=auto --with-tune=generic --without-cuda-driver -v - None: NONE / errors=remount-ro,relatime,rw- MQ-Deadline: MQ-DEADLINE / errors=remount-ro,relatime,rw- Kyber: KYBER / errors=remount-ro,relatime,rw- BFQ low-latency: BFQ / errors=remount-ro,relatime,rw- BFQ: BFQ / errors=remount-ro,relatime,rw- Scaling Governor: acpi-cpufreq ondemand - CPU Microcode: 0x8301025- OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-2ubuntu2)- itlb_multihit: Not affected + l1tf: Not affected + mds: Not affected + meltdown: Not affected + spec_store_bypass: Mitigation of SSB disabled via prctl and seccomp + spectre_v1: Mitigation of usercopy/swapgs barriers and __user pointer sanitization + spectre_v2: Mitigation of Full AMD retpoline IBPB: conditional STIBP: conditional RSB filling + tsx_async_abort: Not affected

NoneMQ-DeadlineKyberBFQ low-latencyBFQLogarithmic Result OverviewPhoronix Test SuiteMariaDBApache CassandraPostgreSQL pgbenchFS-MarkSQLiteFlexible IO TesterFacebook RocksDBApache HBaseIORKeyDBTimed GDB GNU Debugger CompilationLevelDBTimed GCC Compilation

Linux 5.6 IO Scheduler Benchmarkssqlite: 1sqlite: 8fio: Rand Read - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Rand Read - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Rand Write - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Rand Write - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Read - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 2MB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 4KB - Default Test Directoryfio: Seq Write - IO_uring - Yes - No - 4KB - Default Test Directoryfs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 4000 Files, 32 Sub Dirs, 1MB Sizeior: Write Testior: Read Testbuild-gcc: Time To Compilebuild-gdb: Time To Compileleveldb: Hot Readleveldb: Fill Syncleveldb: Fill Syncleveldb: Overwriteleveldb: Overwriteleveldb: Rand Fillleveldb: Rand Fillleveldb: Rand Readleveldb: Seek Randleveldb: Rand Deleteleveldb: Seq Fillleveldb: Seq Fillkeydb: mysqlslap: 64pgbench: Buffer Test - Normal Load - Read Writecassandra: Writescassandra: Mixed 1:1rocksdb: Rand Fillrocksdb: Rand Readrocksdb: Seq Fillrocksdb: Rand Fill Syncrocksdb: Read While Writinghbase: Increment - 32hbase: Increment - 32hbase: Rand Read - 32hbase: Rand Read - 32hbase: Seq Read - 32hbase: Seq Read - 32hbase: Async Rand Read - 32hbase: Async Rand Read - 32hbase: Async Rand Write - 32hbase: Async Rand Write - 32NoneMQ-DeadlineKyberBFQ low-latencyBFQ14.42344.7021381353667979250667382519091483379333197998611843030001238.2592.3797.73995.19641.99080.41140.9623.61954.37626.7264.66126.7265.43941.26766.582256.30427.5257.331519045.76113434866.0822122916273753120514518132202412355583408261645351106802872399651311853451721673711886137252214.38565.065111928633397524946739671980166542600017018471166298667773.5591.4794.35977.23641.40880.24641.0183.61966.91226.7265.35426.6265.97541.29566.890257.50727.4257.854522808.4732712530.752488271238226118556317999690912378223120961842881109172862392441311701601871660001906370650115.076142.942111428516788322614240212007192749333317768841155296000593.5545.8781.43977.87642.18180.36140.8943.61967.16126.6265.71526.6265.71941.05466.609257.42827.6256.084527545.521712539.317088279252165119302018332445412160323371561315301114602842408211301662031911757461796019753514.718151.36378720160094024075037921893137335133313786861015260000647.2590.6799.22978.41642.18980.89341.0543.51998.43526.6265.54726.7264.86640.81166.229257.17427.5256.942525133.3131812441.077629273739141118874718051737112209742976161161901101962882411141301774601791625811944646169514.598107.81480020450096024575040092001192149200014147031027263000364.5528.4770.48986.32642.04280.79741.0643.52019.66626.8264.24526.7265.21241.81966.340258.14827.5257.014522119.6220712284.3470872828831371178558184232888122597023275629421011173028423876913217335418416360219362761508OpenBenchmarking.org

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.

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.30.1Threads / Copies: 1MQ-DeadlineNoneBFQBFQ low-latencyKyber48121620SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.14, N = 3SE +/- 0.15, N = 8SE +/- 0.20, N = 1514.3914.4214.6014.7215.081. (CC) gcc options: -O2 -lz -lm -ldl -lpthread

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.30.1Threads / Copies: 8NoneMQ-DeadlineBFQKyberBFQ low-latency306090120150SE +/- 0.17, N = 3SE +/- 4.78, N = 15SE +/- 5.70, N = 15SE +/- 7.59, N = 12SE +/- 7.47, N = 1244.7065.07107.81142.94151.361. (CC) gcc options: -O2 -lz -lm -ldl -lpthread

Flexible IO Tester

Fio is an advanced disk benchmark that depends upon the kernel's AIO access library. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Random Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryNoneMQ-DeadlineKyberBFQBFQ low-latency30060090012001500SE +/- 5.78, N = 3SE +/- 6.17, N = 3SE +/- 13.18, N = 6SE +/- 11.02, N = 4SE +/- 9.65, N = 51381111911148007871. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Random Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryNoneMQ-DeadlineKyberBFQBFQ low-latency80K160K240K320K400KSE +/- 1452.97, N = 3SE +/- 1763.83, N = 3SE +/- 3439.15, N = 6SE +/- 2843.12, N = 4SE +/- 2481.93, N = 53536672863332851672045002016001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Random Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryNoneMQ-DeadlineBFQBFQ low-latencyKyber2004006008001000SE +/- 10.41, N = 3SE +/- 8.60, N = 15SE +/- 16.31, N = 12SE +/- 12.91, N = 4SE +/- 57.22, N = 129799759609408831. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Random Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryNoneMQ-DeadlineBFQBFQ low-latencyKyber50K100K150K200K250KSE +/- 2603.42, N = 3SE +/- 2212.23, N = 15SE +/- 4178.09, N = 12SE +/- 3250.00, N = 4SE +/- 14652.50, N = 122506672494672457502407502261421. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryKyberBFQMQ-DeadlineNoneBFQ low-latency9001800270036004500SE +/- 4.73, N = 3SE +/- 1.33, N = 3SE +/- 2.33, N = 3SE +/- 3.33, N = 3SE +/- 2.67, N = 3402140093967382537921. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryKyberBFQMQ-DeadlineNoneBFQ low-latency400800120016002000SE +/- 2.40, N = 3SE +/- 0.67, N = 3SE +/- 1.15, N = 3SE +/- 1.67, N = 3SE +/- 1.33, N = 3200720011980190918931. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryKyberBFQMQ-DeadlineNoneBFQ low-latency400800120016002000SE +/- 7.17, N = 3SE +/- 26.11, N = 4SE +/- 12.35, N = 3SE +/- 5.81, N = 3SE +/- 16.23, N = 3192719211665148313731. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryKyberBFQMQ-DeadlineNoneBFQ low-latency110K220K330K440K550KSE +/- 1666.67, N = 3SE +/- 6670.83, N = 4SE +/- 3214.55, N = 3SE +/- 1452.97, N = 3SE +/- 4176.65, N = 34933334920004260003793333513331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryNoneKyberMQ-DeadlineBFQBFQ low-latency400800120016002000SE +/- 20.59, N = 8SE +/- 73.55, N = 12SE +/- 54.46, N = 15SE +/- 98.56, N = 15SE +/- 136.82, N = 12197917761701141413781. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test DirectoryNoneKyberMQ-DeadlineBFQBFQ low-latency2004006008001000SE +/- 10.37, N = 8SE +/- 36.75, N = 12SE +/- 27.25, N = 15SE +/- 49.26, N = 15SE +/- 68.36, N = 129868848477036861. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryNoneMQ-DeadlineKyberBFQBFQ low-latency30060090012001500SE +/- 10.45, N = 11SE +/- 11.84, N = 3SE +/- 8.11, N = 3SE +/- 15.25, N = 3SE +/- 13.20, N = 3118411661155102710151. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

OpenBenchmarking.orgIOPS, More Is BetterFlexible IO Tester 3.18Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test DirectoryNoneMQ-DeadlineKyberBFQBFQ low-latency60K120K180K240K300KSE +/- 2679.89, N = 11SE +/- 3179.80, N = 3SE +/- 2309.40, N = 3SE +/- 3785.94, N = 3SE +/- 3511.88, N = 33030002986672960002630002600001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

FS-Mark

FS_Mark is designed to test a system's file-system performance. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsNoneMQ-DeadlineBFQ low-latencyKyberBFQ30060090012001500SE +/- 9.23, N = 3SE +/- 121.16, N = 12SE +/- 103.97, N = 12SE +/- 87.62, N = 12SE +/- 2.86, N = 31238.2773.5647.2593.5364.51. (CC) gcc options: -static

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 4000 Files, 32 Sub Dirs, 1MB SizeNoneMQ-DeadlineBFQ low-latencyKyberBFQ130260390520650SE +/- 0.97, N = 3SE +/- 2.75, N = 3SE +/- 1.70, N = 3SE +/- 24.28, N = 13SE +/- 21.50, N = 12592.3591.4590.6545.8528.41. (CC) gcc options: -static

IOR

IOR is a parallel I/O storage benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMB/s, More Is BetterIOR 3.2.1Write TestBFQ low-latencyNoneMQ-DeadlineKyberBFQ2004006008001000SE +/- 4.45, N = 3SE +/- 3.67, N = 3SE +/- 6.47, N = 3SE +/- 5.10, N = 3SE +/- 5.04, N = 3799.22797.73794.35781.43770.48MIN: 156.94 / MAX: 903.57MIN: 165.18 / MAX: 906.83MIN: 162.92 / MAX: 909.98MIN: 13.98 / MAX: 900.79MIN: 13.92 / MAX: 898.051. (CC) gcc options: -O2 -lm -pthread -lmpi

OpenBenchmarking.orgMB/s, More Is BetterIOR 3.2.1Read TestNoneBFQBFQ low-latencyKyberMQ-Deadline2004006008001000SE +/- 0.64, N = 3SE +/- 2.94, N = 3SE +/- 5.02, N = 3SE +/- 5.68, N = 3SE +/- 1.94, N = 3995.19986.32978.41977.87977.23MIN: 727.61 / MAX: 1323.38MIN: 715.91 / MAX: 1357.45MIN: 724.27 / MAX: 1310.08MIN: 718.27 / MAX: 1337.12MIN: 746.57 / MAX: 1252.841. (CC) gcc options: -O2 -lm -pthread -lmpi

Timed GCC Compilation

This test times how long it takes to build the GNU Compiler Collection (GCC). Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 9.3.0Time To CompileMQ-DeadlineNoneBFQKyberBFQ low-latency140280420560700SE +/- 0.25, N = 3SE +/- 0.17, N = 3SE +/- 0.27, N = 3SE +/- 0.03, N = 3SE +/- 0.16, N = 3641.41641.99642.04642.18642.19

Timed GDB GNU Debugger Compilation

This test times how long it takes to build the GNU Debugger (GDB) in a default configuration. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GDB GNU Debugger Compilation 9.1Time To CompileMQ-DeadlineKyberNoneBFQBFQ low-latency20406080100SE +/- 0.08, N = 3SE +/- 0.06, N = 3SE +/- 0.11, N = 3SE +/- 0.05, N = 3SE +/- 0.05, N = 380.2580.3680.4180.8080.89

LevelDB

LevelDB is a key-value storage library developed by Google that supports making use of Snappy for data compression and has other modern features. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Hot ReadKyberNoneMQ-DeadlineBFQ low-latencyBFQ918273645SE +/- 0.14, N = 3SE +/- 0.21, N = 3SE +/- 0.16, N = 3SE +/- 0.18, N = 3SE +/- 0.26, N = 340.8940.9641.0241.0541.061. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: Fill SyncKyberMQ-DeadlineNoneBFQBFQ low-latency0.811.622.433.244.05SE +/- 0.03, N = 3SE +/- 0.03, N = 3SE +/- 0.00, N = 3SE +/- 0.04, N = 6SE +/- 0.06, N = 33.63.63.63.53.51. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Fill SyncNoneMQ-DeadlineKyberBFQ low-latencyBFQ400800120016002000SE +/- 3.92, N = 3SE +/- 5.68, N = 3SE +/- 13.46, N = 3SE +/- 19.30, N = 3SE +/- 19.00, N = 61954.381966.911967.161998.442019.671. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: OverwriteBFQMQ-DeadlineNoneBFQ low-latencyKyber612182430SE +/- 0.07, N = 3SE +/- 0.07, N = 3SE +/- 0.09, N = 3SE +/- 0.06, N = 3SE +/- 0.12, N = 326.826.726.726.626.61. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: OverwriteBFQNoneMQ-DeadlineBFQ low-latencyKyber60120180240300SE +/- 0.58, N = 3SE +/- 0.82, N = 3SE +/- 0.58, N = 3SE +/- 0.56, N = 3SE +/- 1.16, N = 3264.25264.66265.35265.55265.721. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: Random FillBFQBFQ low-latencyNoneKyberMQ-Deadline612182430SE +/- 0.03, N = 3SE +/- 0.00, N = 3SE +/- 0.03, N = 3SE +/- 0.07, N = 3SE +/- 0.09, N = 326.726.726.726.626.61. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random FillBFQ low-latencyBFQNoneKyberMQ-Deadline60120180240300SE +/- 0.15, N = 3SE +/- 0.38, N = 3SE +/- 0.41, N = 3SE +/- 0.64, N = 3SE +/- 0.87, N = 3264.87265.21265.44265.72265.981. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random ReadBFQ low-latencyKyberNoneMQ-DeadlineBFQ1020304050SE +/- 0.15, N = 3SE +/- 0.09, N = 3SE +/- 0.15, N = 3SE +/- 0.18, N = 3SE +/- 0.44, N = 340.8141.0541.2741.3041.821. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Seek RandomBFQ low-latencyBFQNoneKyberMQ-Deadline1530456075SE +/- 0.24, N = 3SE +/- 0.07, N = 3SE +/- 0.15, N = 3SE +/- 0.11, N = 3SE +/- 0.04, N = 366.2366.3466.5866.6166.891. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Random DeleteNoneBFQ low-latencyKyberMQ-DeadlineBFQ60120180240300SE +/- 0.66, N = 3SE +/- 0.13, N = 3SE +/- 0.37, N = 3SE +/- 0.58, N = 3SE +/- 0.64, N = 3256.30257.17257.43257.51258.151. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: Sequential FillKyberBFQBFQ low-latencyNoneMQ-Deadline612182430SE +/- 0.07, N = 3SE +/- 0.09, N = 3SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.03, N = 327.627.527.527.527.41. (CXX) g++ options: -O3 -lsnappy -lpthread

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Sequential FillKyberBFQ low-latencyBFQNoneMQ-Deadline60120180240300SE +/- 0.53, N = 3SE +/- 0.62, N = 3SE +/- 0.62, N = 3SE +/- 0.55, N = 3SE +/- 0.41, N = 3256.08256.94257.01257.33257.851. (CXX) g++ options: -O3 -lsnappy -lpthread

KeyDB

A benchmark of KeyDB as a multi-threaded fork of the Redis server. The KeyDB benchmark is conducted using memtier-benchmark. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgOps/sec, More Is BetterKeyDB 5.3.1KyberBFQ low-latencyMQ-DeadlineBFQNone110K220K330K440K550KSE +/- 2621.85, N = 3SE +/- 2938.61, N = 3SE +/- 5087.07, N = 3SE +/- 3207.20, N = 3SE +/- 3949.59, N = 3527545.50525133.31522808.47522119.62519045.761. (CXX) g++ options: -O2 -levent -lpthread -lz -lpcre

MariaDB

This is a MariaDB MySQL database server benchmark making use of mysqlslap. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgQueries Per Second, More Is BetterMariaDB 10.3.8Clients: 64NoneMQ-DeadlineBFQ low-latencyKyberBFQ2004006008001000SE +/- 1.14, N = 3SE +/- 101.84, N = 9SE +/- 100.08, N = 9SE +/- 2.81, N = 3SE +/- 3.55, N = 311343273182172071. (CXX) g++ options: -pie -fPIC -fstack-protector -fno-rtti -O2 -lpthread -lsnappy -laio -lz -lm -lcrypt -lssl -lcrypto -ldl

PostgreSQL pgbench

This is a simple benchmark of PostgreSQL using pgbench. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 12.0Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteNoneKyberMQ-DeadlineBFQ low-latencyBFQ7K14K21K28K35KSE +/- 238.48, N = 3SE +/- 139.65, N = 3SE +/- 170.74, N = 15SE +/- 212.09, N = 15SE +/- 162.47, N = 1534866.0812539.3212530.7512441.0812284.351. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

Apache Cassandra

This is a benchmark of the Apache Cassandra NoSQL database management system making use of cassandra-stress. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgOp/s, More Is BetterApache Cassandra 3.11.4Test: WritesNoneBFQKyberBFQ low-latencyMQ-Deadline60K120K180K240K300KSE +/- 4255.75, N = 3SE +/- 3156.44, N = 15SE +/- 2588.05, N = 15SE +/- 1752.30, N = 3SE +/- 3838.79, N = 3291627282883279252273739271238

OpenBenchmarking.orgOp/s, More Is BetterApache Cassandra 3.11.4Test: Mixed 1:1NoneMQ-DeadlineKyberBFQ low-latencyBFQ8001600240032004000SE +/- 217.63, N = 9SE +/- 5.46, N = 9SE +/- 12.43, N = 7SE +/- 26.61, N = 6SE +/- 8.58, N = 63753226165141137

Facebook RocksDB

This is a benchmark of Facebook's RocksDB as an embeddable persistent key-value store for fast storage based on Google's LevelDB. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random FillNoneKyberBFQ low-latencyMQ-DeadlineBFQ300K600K900K1200K1500KSE +/- 3276.95, N = 3SE +/- 2916.55, N = 3SE +/- 2824.61, N = 3SE +/- 11269.49, N = 3SE +/- 5909.18, N = 3120514511930201188747118556311785581. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random ReadBFQKyberNoneBFQ low-latencyMQ-Deadline40M80M120M160M200MSE +/- 2076338.73, N = 6SE +/- 3150233.61, N = 3SE +/- 2048541.15, N = 3SE +/- 2267118.09, N = 5SE +/- 1286835.14, N = 31842328881833244541813220241805173711799969091. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Sequential FillMQ-DeadlineNoneBFQBFQ low-latencyKyber300K600K900K1200K1500KSE +/- 3005.09, N = 3SE +/- 9824.57, N = 3SE +/- 11522.86, N = 3SE +/- 3978.59, N = 3SE +/- 9197.27, N = 3123782212355581225970122097412160321. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Random Fill SyncNoneKyberMQ-DeadlineBFQ low-latencyBFQ7K14K21K28K35KSE +/- 159.25, N = 3SE +/- 138.08, N = 3SE +/- 842.51, N = 12SE +/- 810.82, N = 15SE +/- 1587.48, N = 1234082337153120929761232751. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

OpenBenchmarking.orgOp/s, More Is BetterFacebook RocksDB 6.3.6Test: Read While WritingBFQMQ-DeadlineNoneKyberBFQ low-latency1.3M2.6M3.9M5.2M6.5MSE +/- 70731.04, N = 3SE +/- 80811.91, N = 5SE +/- 29916.58, N = 3SE +/- 21536.07, N = 3SE +/- 22104.21, N = 3629421061842886164535613153061161901. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread

Apache HBase

This is a benchmark of the Apache HBase non-relational distributed database system inspired from Google's Bigtable. Learn more via the OpenBenchmarking.org test page.

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Increment - Clients: 32BFQKyberMQ-DeadlineNoneBFQ low-latency20K40K60K80K100KSE +/- 1065.86, N = 3SE +/- 732.48, N = 3SE +/- 672.36, N = 3SE +/- 367.77, N = 3SE +/- 503.81, N = 3111730111460110917110680110196

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Increment - Clients: 32KyberBFQMQ-DeadlineNoneBFQ low-latency60120180240300SE +/- 1.86, N = 3SE +/- 2.89, N = 3SE +/- 2.19, N = 3SE +/- 1.45, N = 3284284286287288

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32BFQ low-latencyKyberNoneMQ-DeadlineBFQ50K100K150K200K250KSE +/- 1176.18, N = 3SE +/- 1147.34, N = 3SE +/- 1261.46, N = 3SE +/- 1696.17, N = 3SE +/- 1073.93, N = 3241114240821239965239244238769

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32KyberBFQ low-latencyNoneMQ-DeadlineBFQ306090120150SE +/- 0.67, N = 3SE +/- 0.67, N = 3130130131131132

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32NoneBFQ low-latencyBFQMQ-DeadlineKyber40K80K120K160K200KSE +/- 2136.52, N = 15SE +/- 2066.20, N = 15SE +/- 1398.50, N = 15SE +/- 2100.10, N = 15SE +/- 2793.36, N = 3185345177460173354170160166203

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32NoneBFQ low-latencyBFQMQ-DeadlineKyber4080120160200SE +/- 2.19, N = 15SE +/- 2.20, N = 15SE +/- 1.54, N = 15SE +/- 2.37, N = 15SE +/- 3.21, N = 3172179184187191

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Async Random Read - Clients: 32KyberNoneMQ-DeadlineBFQBFQ low-latency40K80K120K160K200KSE +/- 2062.43, N = 3SE +/- 1741.28, N = 3SE +/- 1862.94, N = 3SE +/- 1905.12, N = 3SE +/- 1743.02, N = 3175746167371166000163602162581

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Async Random Read - Clients: 32KyberNoneMQ-DeadlineBFQBFQ low-latency4080120160200SE +/- 2.03, N = 3SE +/- 1.86, N = 3SE +/- 2.33, N = 3SE +/- 2.19, N = 3SE +/- 1.76, N = 3179188190193194

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Async Random Write - Clients: 32MQ-DeadlineBFQNoneKyberBFQ low-latency14K28K42K56K70KSE +/- 701.22, N = 12SE +/- 432.26, N = 3SE +/- 1286.78, N = 12SE +/- 1589.78, N = 15SE +/- 1485.96, N = 126370662761613726019746461

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Async Random Write - Clients: 32MQ-DeadlineBFQNoneKyberBFQ low-latency150300450600750SE +/- 6.18, N = 12SE +/- 3.48, N = 3SE +/- 13.83, N = 12SE +/- 16.45, N = 15SE +/- 24.46, N = 12501508522535695

52 Results Shown

SQLite:
  1
  8
Flexible IO Tester:
  Rand Read - IO_uring - Yes - No - 4KB - Default Test Directory:
    MB/s
    IOPS
  Rand Write - IO_uring - Yes - No - 4KB - Default Test Directory:
    MB/s
    IOPS
  Seq Read - IO_uring - Yes - No - 2MB - Default Test Directory:
    MB/s
    IOPS
  Seq Read - IO_uring - Yes - No - 4KB - Default Test Directory:
    MB/s
    IOPS
  Seq Write - IO_uring - Yes - No - 2MB - Default Test Directory:
    MB/s
    IOPS
  Seq Write - IO_uring - Yes - No - 4KB - Default Test Directory:
    MB/s
    IOPS
FS-Mark:
  5000 Files, 1MB Size, 4 Threads
  4000 Files, 32 Sub Dirs, 1MB Size
IOR:
  Write Test
  Read Test
Timed GCC Compilation
Timed GDB GNU Debugger Compilation
LevelDB:
  Hot Read
  Fill Sync
  Fill Sync
  Overwrite
  Overwrite
  Rand Fill
  Rand Fill
  Rand Read
  Seek Rand
  Rand Delete
  Seq Fill
  Seq Fill
KeyDB
MariaDB
PostgreSQL pgbench
Apache Cassandra:
  Writes
  Mixed 1:1
Facebook RocksDB:
  Rand Fill
  Rand Read
  Seq Fill
  Rand Fill Sync
  Read While Writing
Apache HBase:
  Increment - 32:
    Rows Per Second
    Microseconds - Average Latency
  Rand Read - 32:
    Rows Per Second
    Microseconds - Average Latency
  Seq Read - 32:
    Rows Per Second
    Microseconds - Average Latency
  Async Rand Read - 32:
    Rows Per Second
    Microseconds - Average Latency
  Async Rand Write - 32:
    Rows Per Second
    Microseconds - Average Latency