Linux 5.6 IO Scheduler Benchmarks

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

HTML result view exported from: https://openbenchmarking.org/result/2003265-NI-LINUX56IO44&sro.

Linux 5.6 IO Scheduler BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerDisplay DriverOpenGLCompilerFile-SystemScreen ResolutionNoneMQ-DeadlineKyberBFQ low-latencyBFQAMD 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.0ext41280x8003840x21601280x800OpenBenchmarking.orgCompiler Details- --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 Disk Details- 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,rwProcessor Details- Scaling Governor: acpi-cpufreq ondemand - CPU Microcode: 0x8301025Java Details- OpenJDK Runtime Environment (build 11.0.6+10-post-Ubuntu-2ubuntu2)Security Details- 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

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

Threads / Copies: 1

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.30.1Threads / Copies: 1BFQBFQ low-latencyKyberMQ-DeadlineNone48121620SE +/- 0.14, N = 3SE +/- 0.15, N = 8SE +/- 0.20, N = 15SE +/- 0.05, N = 3SE +/- 0.05, N = 314.6014.7215.0814.3914.421. (CC) gcc options: -O2 -lz -lm -ldl -lpthread

SQLite

Threads / Copies: 8

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

Flexible IO Tester

Type: Random Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone30060090012001500SE +/- 11.02, N = 4SE +/- 9.65, N = 5SE +/- 13.18, N = 6SE +/- 6.17, N = 3SE +/- 5.78, N = 38007871114111913811. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Random Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone80K160K240K320K400KSE +/- 2843.12, N = 4SE +/- 2481.93, N = 5SE +/- 3439.15, N = 6SE +/- 1763.83, N = 3SE +/- 1452.97, N = 32045002016002851672863333536671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Random Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone2004006008001000SE +/- 16.31, N = 12SE +/- 12.91, N = 4SE +/- 57.22, N = 12SE +/- 8.60, N = 15SE +/- 10.41, N = 39609408839759791. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Random Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone50K100K150K200K250KSE +/- 4178.09, N = 12SE +/- 3250.00, N = 4SE +/- 14652.50, N = 12SE +/- 2212.23, N = 15SE +/- 2603.42, N = 32457502407502261422494672506671. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone9001800270036004500SE +/- 1.33, N = 3SE +/- 2.67, N = 3SE +/- 4.73, N = 3SE +/- 2.33, N = 3SE +/- 3.33, N = 3400937924021396738251. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone400800120016002000SE +/- 0.67, N = 3SE +/- 1.33, N = 3SE +/- 2.40, N = 3SE +/- 1.15, N = 3SE +/- 1.67, N = 3200118932007198019091. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone400800120016002000SE +/- 26.11, N = 4SE +/- 16.23, N = 3SE +/- 7.17, N = 3SE +/- 12.35, N = 3SE +/- 5.81, N = 3192113731927166514831. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Read - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone110K220K330K440K550KSE +/- 6670.83, N = 4SE +/- 4176.65, N = 3SE +/- 1666.67, N = 3SE +/- 3214.55, N = 3SE +/- 1452.97, N = 34920003513334933334260003793331. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone400800120016002000SE +/- 98.56, N = 15SE +/- 136.82, N = 12SE +/- 73.55, N = 12SE +/- 54.46, N = 15SE +/- 20.59, N = 8141413781776170119791. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 2MB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone2004006008001000SE +/- 49.26, N = 15SE +/- 68.36, N = 12SE +/- 36.75, N = 12SE +/- 27.25, N = 15SE +/- 10.37, N = 87036868848479861. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone30060090012001500SE +/- 15.25, N = 3SE +/- 13.20, N = 3SE +/- 8.11, N = 3SE +/- 11.84, N = 3SE +/- 10.45, N = 11102710151155116611841. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

Flexible IO Tester

Type: Sequential Write - Engine: IO_uring - Buffered: Yes - Direct: No - Block Size: 4KB - Disk Target: Default Test Directory

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 DirectoryBFQBFQ low-latencyKyberMQ-DeadlineNone60K120K180K240K300KSE +/- 3785.94, N = 3SE +/- 3511.88, N = 3SE +/- 2309.40, N = 3SE +/- 3179.80, N = 3SE +/- 2679.89, N = 112630002600002960002986673030001. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -march=native -ll -lrt -laio -lz -lpthread -lm -ldl

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

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

FS-Mark

Test: 4000 Files, 32 Sub Dirs, 1MB Size

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

IOR

Write Test

OpenBenchmarking.orgMB/s, More Is BetterIOR 3.2.1Write TestBFQBFQ low-latencyKyberMQ-DeadlineNone2004006008001000SE +/- 5.04, N = 3SE +/- 4.45, N = 3SE +/- 5.10, N = 3SE +/- 6.47, N = 3SE +/- 3.67, N = 3770.48799.22781.43794.35797.73MIN: 13.92 / MAX: 898.05MIN: 156.94 / MAX: 903.57MIN: 13.98 / MAX: 900.79MIN: 162.92 / MAX: 909.98MIN: 165.18 / MAX: 906.831. (CC) gcc options: -O2 -lm -pthread -lmpi

IOR

Read Test

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

Timed GCC Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 9.3.0Time To CompileBFQBFQ low-latencyKyberMQ-DeadlineNone140280420560700SE +/- 0.27, N = 3SE +/- 0.16, N = 3SE +/- 0.03, N = 3SE +/- 0.25, N = 3SE +/- 0.17, N = 3642.04642.19642.18641.41641.99

Timed GDB GNU Debugger Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GDB GNU Debugger Compilation 9.1Time To CompileBFQBFQ low-latencyKyberMQ-DeadlineNone20406080100SE +/- 0.05, N = 3SE +/- 0.05, N = 3SE +/- 0.06, N = 3SE +/- 0.08, N = 3SE +/- 0.11, N = 380.8080.8980.3680.2580.41

LevelDB

Benchmark: Hot Read

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

LevelDB

Benchmark: Fill Sync

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

LevelDB

Benchmark: Fill Sync

OpenBenchmarking.orgMicroseconds Per Op, Fewer Is BetterLevelDB 1.22Benchmark: Fill SyncBFQBFQ low-latencyKyberMQ-DeadlineNone400800120016002000SE +/- 19.00, N = 6SE +/- 19.30, N = 3SE +/- 13.46, N = 3SE +/- 5.68, N = 3SE +/- 3.92, N = 32019.671998.441967.161966.911954.381. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Overwrite

OpenBenchmarking.orgMB/s, More Is BetterLevelDB 1.22Benchmark: OverwriteBFQBFQ low-latencyKyberMQ-DeadlineNone612182430SE +/- 0.07, N = 3SE +/- 0.06, N = 3SE +/- 0.12, N = 3SE +/- 0.07, N = 3SE +/- 0.09, N = 326.826.626.626.726.71. (CXX) g++ options: -O3 -lsnappy -lpthread

LevelDB

Benchmark: Overwrite

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

LevelDB

Benchmark: Random Fill

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

LevelDB

Benchmark: Random Fill

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

LevelDB

Benchmark: Random Read

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

LevelDB

Benchmark: Seek Random

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

LevelDB

Benchmark: Random Delete

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

LevelDB

Benchmark: Sequential Fill

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

LevelDB

Benchmark: Sequential Fill

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

KeyDB

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

MariaDB

Clients: 64

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

PostgreSQL pgbench

Scaling: Buffer Test - Test: Normal Load - Mode: Read Write

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

Apache Cassandra

Test: Writes

OpenBenchmarking.orgOp/s, More Is BetterApache Cassandra 3.11.4Test: WritesBFQBFQ low-latencyKyberMQ-DeadlineNone60K120K180K240K300KSE +/- 3156.44, N = 15SE +/- 1752.30, N = 3SE +/- 2588.05, N = 15SE +/- 3838.79, N = 3SE +/- 4255.75, N = 3282883273739279252271238291627

Apache Cassandra

Test: Mixed 1:1

OpenBenchmarking.orgOp/s, More Is BetterApache Cassandra 3.11.4Test: Mixed 1:1BFQBFQ low-latencyKyberMQ-DeadlineNone8001600240032004000SE +/- 8.58, N = 6SE +/- 26.61, N = 6SE +/- 12.43, N = 7SE +/- 5.46, N = 9SE +/- 217.63, N = 91371411652263753

Facebook RocksDB

Test: Random Fill

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

Facebook RocksDB

Test: Random Read

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

Facebook RocksDB

Test: Sequential Fill

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

Facebook RocksDB

Test: Random Fill Sync

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

Facebook RocksDB

Test: Read While Writing

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

Apache HBase

Test: Increment - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Increment - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone20K40K60K80K100KSE +/- 1065.86, N = 3SE +/- 503.81, N = 3SE +/- 732.48, N = 3SE +/- 672.36, N = 3SE +/- 367.77, N = 3111730110196111460110917110680

Apache HBase

Test: Increment - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Increment - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone60120180240300SE +/- 2.89, N = 3SE +/- 1.86, N = 3SE +/- 2.19, N = 3SE +/- 1.45, N = 3284288284286287

Apache HBase

Test: Random Read - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone50K100K150K200K250KSE +/- 1073.93, N = 3SE +/- 1176.18, N = 3SE +/- 1147.34, N = 3SE +/- 1696.17, N = 3SE +/- 1261.46, N = 3238769241114240821239244239965

Apache HBase

Test: Random Read - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Random Read - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone306090120150SE +/- 0.67, N = 3SE +/- 0.67, N = 3132130130131131

Apache HBase

Test: Sequential Read - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone40K80K120K160K200KSE +/- 1398.50, N = 15SE +/- 2066.20, N = 15SE +/- 2793.36, N = 3SE +/- 2100.10, N = 15SE +/- 2136.52, N = 15173354177460166203170160185345

Apache HBase

Test: Sequential Read - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Sequential Read - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone4080120160200SE +/- 1.54, N = 15SE +/- 2.20, N = 15SE +/- 3.21, N = 3SE +/- 2.37, N = 15SE +/- 2.19, N = 15184179191187172

Apache HBase

Test: Async Random Read - Clients: 32

OpenBenchmarking.orgRows Per Second, More Is BetterApache HBase 2.2.3Test: Async Random Read - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone40K80K120K160K200KSE +/- 1905.12, N = 3SE +/- 1743.02, N = 3SE +/- 2062.43, N = 3SE +/- 1862.94, N = 3SE +/- 1741.28, N = 3163602162581175746166000167371

Apache HBase

Test: Async Random Read - Clients: 32

OpenBenchmarking.orgMicroseconds - Average Latency, Fewer Is BetterApache HBase 2.2.3Test: Async Random Read - Clients: 32BFQBFQ low-latencyKyberMQ-DeadlineNone4080120160200SE +/- 2.19, N = 3SE +/- 1.76, N = 3SE +/- 2.03, N = 3SE +/- 2.33, N = 3SE +/- 1.86, N = 3193194179190188

Apache HBase

Test: Async Random Write - Clients: 32

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

Apache HBase

Test: Async Random Write - Clients: 32

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


Phoronix Test Suite v10.8.5