Sabrent USB 3.2 NVMe PCIe Key + Sabrent Rocket Q Sabrent USB 3.2 NVMe adapter testing compared to direct NVMe interface on motherobard. Sabrent Rocket Q 2TB NVMe SSD used for testing. Benchmarks by Michael Larabel.
HTML result view exported from: https://openbenchmarking.org/result/2006207-NE-SSDTEST8330&sor&grr&export=txt .
Sabrent USB 3.2 NVMe PCIe Key + Sabrent Rocket Q Processor Motherboard Chipset Memory Disk Graphics Audio Network OS Kernel Desktop Display Server Display Driver OpenGL Compiler File-System Screen Resolution Sabrent USB 3.2 NVMe Direct Intel Core i9-10900K @ 5.30GHz (10 Cores / 20 Threads) Gigabyte Z490 AORUS MASTER (F3 BIOS) Intel Comet Lake PCH 16GB 2000GB Sabrent Rocket Q + Samsung SSD 970 EVO 250GB llvmpipe 16GB Realtek ALC1220 Intel Device 15f3 + Intel Wi-Fi 6 AX201 Ubuntu 20.04 5.7.4-050704-generic (x86_64) GNOME Shell 3.36.2 X Server 1.20.8 modesetting 1.20.8 3.3 Mesa 20.0.4 (LLVM 9.0.1 256 bits) GCC 9.3.0 ext4 1024x768 OpenBenchmarking.org Compiler 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 - Sabrent USB 3.2: MQ-DEADLINE / relatime,rw - NVMe Direct: NONE / relatime,rw Processor Details - Scaling Governor: intel_pstate powersave - CPU Microcode: 0xc8 Python Details - Sabrent USB 3.2: Python 3.8.2 Security Details - itlb_multihit: KVM: Mitigation of Split huge pages + 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 Enhanced IBRS IBPB: conditional RSB filling + srbds: Not affected + tsx_async_abort: Not affected
Sabrent USB 3.2 NVMe PCIe Key + Sabrent Rocket Q rocksdb: Rand Fill fio: Seq Write - IO_uring - No - Yes - 2MB - Default Test Directory rocksdb: Rand Fill Sync build-linux-kernel: Time To Compile rocksdb: Read While Writing rocksdb: Rand Read sqlite-speedtest: Timed Time - Size 1,000 fio: Rand Read - IO_uring - No - Yes - 4KB - Default Test Directory fio: Rand Write - IO_uring - No - Yes - 4KB - Default Test Directory fio: Seq Read - IO_uring - No - Yes - 2MB - Default Test Directory leveldb: Seq Fill leveldb: Seq Fill leveldb: Rand Delete rocksdb: Seq Fill leveldb: Seek Rand leveldb: Rand Read leveldb: Hot Read leveldb: Fill Sync leveldb: Fill Sync leveldb: Overwrite leveldb: Overwrite leveldb: Rand Fill leveldb: Rand Fill Sabrent USB 3.2 NVMe Direct 979000 845 2799 62.950 2991618 68418111 46.276 76400 85300 1006 45.626 48.5 45.165 1437392 10.054 8.206 8.208 6504.877 0.3 47.823 46.2 47.863 46.2 980533 974 2871 63.493 3106306 68185330 45.763 166333 531333 3066 46.274 47.8 45.407 1475340 10.010 8.273 8.280 6538.467 0.3 48.002 46.1 48.078 46.0 OpenBenchmarking.org
Facebook RocksDB Test: Random Fill OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Fill NVMe Direct Sabrent USB 3.2 200K 400K 600K 800K 1000K SE +/- 8628.10, N = 3 SE +/- 8257.54, N = 15 980533 979000 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Flexible IO Tester Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.18 Type: Sequential Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory NVMe Direct Sabrent USB 3.2 200 400 600 800 1000 SE +/- 119.49, N = 15 SE +/- 41.07, N = 15 974 845 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -lcurl -lssl -lcrypto -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl
Facebook RocksDB Test: Random Fill Sync OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Fill Sync NVMe Direct Sabrent USB 3.2 600 1200 1800 2400 3000 SE +/- 3.28, N = 3 SE +/- 6.49, N = 3 2871 2799 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Timed Linux Kernel Compilation Time To Compile OpenBenchmarking.org Seconds, Fewer Is Better Timed Linux Kernel Compilation 5.4 Time To Compile Sabrent USB 3.2 NVMe Direct 14 28 42 56 70 SE +/- 0.36, N = 3 SE +/- 0.31, N = 3 62.95 63.49
Facebook RocksDB Test: Read While Writing OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Read While Writing NVMe Direct Sabrent USB 3.2 700K 1400K 2100K 2800K 3500K SE +/- 32366.78, N = 3 SE +/- 10400.49, N = 3 3106306 2991618 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
Facebook RocksDB Test: Random Read OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Random Read Sabrent USB 3.2 NVMe Direct 15M 30M 45M 60M 75M SE +/- 27179.79, N = 3 SE +/- 282535.42, N = 3 68418111 68185330 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
SQLite Speedtest Timed Time - Size 1,000 OpenBenchmarking.org Seconds, Fewer Is Better SQLite Speedtest 3.30 Timed Time - Size 1,000 NVMe Direct Sabrent USB 3.2 10 20 30 40 50 SE +/- 0.02, N = 3 SE +/- 0.05, N = 3 45.76 46.28 1. (CC) gcc options: -O2 -ldl -lz -lpthread
Flexible IO Tester Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.18 Type: Random Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory NVMe Direct Sabrent USB 3.2 40K 80K 120K 160K 200K SE +/- 1666.67, N = 3 166333 76400 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -lcurl -lssl -lcrypto -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl
Flexible IO Tester Type: Random Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory OpenBenchmarking.org IOPS, More Is Better Flexible IO Tester 3.18 Type: Random Write - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test Directory NVMe Direct Sabrent USB 3.2 110K 220K 330K 440K 550K SE +/- 6009.25, N = 3 SE +/- 300.00, N = 3 531333 85300 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -lcurl -lssl -lcrypto -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl
Flexible IO Tester Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory OpenBenchmarking.org MB/s, More Is Better Flexible IO Tester 3.18 Type: Sequential Read - Engine: IO_uring - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test Directory NVMe Direct Sabrent USB 3.2 700 1400 2100 2800 3500 SE +/- 27.01, N = 3 3066 1006 1. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -fcommon -U_FORTIFY_SOURCE -march=native -lcurl -lssl -lcrypto -lnuma -libverbs -lrt -laio -lz -lpthread -lm -ldl
LevelDB Benchmark: Sequential Fill OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Sequential Fill Sabrent USB 3.2 NVMe Direct 10 20 30 40 50 SE +/- 0.19, N = 3 SE +/- 0.18, N = 3 45.63 46.27 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Sequential Fill OpenBenchmarking.org MB/s, More Is Better LevelDB 1.22 Benchmark: Sequential Fill Sabrent USB 3.2 NVMe Direct 11 22 33 44 55 SE +/- 0.19, N = 3 SE +/- 0.17, N = 3 48.5 47.8 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Random Delete OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Random Delete Sabrent USB 3.2 NVMe Direct 10 20 30 40 50 SE +/- 0.24, N = 3 SE +/- 0.05, N = 3 45.17 45.41 1. (CXX) g++ options: -O3 -lsnappy -lpthread
Facebook RocksDB Test: Sequential Fill OpenBenchmarking.org Op/s, More Is Better Facebook RocksDB 6.3.6 Test: Sequential Fill NVMe Direct Sabrent USB 3.2 300K 600K 900K 1200K 1500K SE +/- 18076.16, N = 4 SE +/- 18305.11, N = 5 1475340 1437392 1. (CXX) g++ options: -O3 -march=native -std=c++11 -fno-builtin-memcmp -fno-rtti -rdynamic -lpthread
LevelDB Benchmark: Seek Random OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Seek Random NVMe Direct Sabrent USB 3.2 3 6 9 12 15 SE +/- 0.04, N = 5 SE +/- 0.07, N = 5 10.01 10.05 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Random Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Random Read Sabrent USB 3.2 NVMe Direct 2 4 6 8 10 SE +/- 0.082, N = 6 SE +/- 0.069, N = 6 8.206 8.273 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Hot Read OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Hot Read Sabrent USB 3.2 NVMe Direct 2 4 6 8 10 SE +/- 0.080, N = 6 SE +/- 0.045, N = 6 8.208 8.280 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Fill Sync OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Fill Sync Sabrent USB 3.2 NVMe Direct 1400 2800 4200 5600 7000 SE +/- 9.76, N = 6 SE +/- 10.45, N = 6 6504.88 6538.47 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Fill Sync OpenBenchmarking.org MB/s, More Is Better LevelDB 1.22 Benchmark: Fill Sync NVMe Direct Sabrent USB 3.2 0.0675 0.135 0.2025 0.27 0.3375 SE +/- 0.00, N = 6 SE +/- 0.00, N = 6 0.3 0.3 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Overwrite OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Overwrite Sabrent USB 3.2 NVMe Direct 11 22 33 44 55 SE +/- 0.07, N = 8 SE +/- 0.07, N = 7 47.82 48.00 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Overwrite OpenBenchmarking.org MB/s, More Is Better LevelDB 1.22 Benchmark: Overwrite Sabrent USB 3.2 NVMe Direct 10 20 30 40 50 SE +/- 0.06, N = 8 SE +/- 0.07, N = 7 46.2 46.1 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Random Fill OpenBenchmarking.org Microseconds Per Op, Fewer Is Better LevelDB 1.22 Benchmark: Random Fill Sabrent USB 3.2 NVMe Direct 11 22 33 44 55 SE +/- 0.08, N = 7 SE +/- 0.04, N = 7 47.86 48.08 1. (CXX) g++ options: -O3 -lsnappy -lpthread
LevelDB Benchmark: Random Fill OpenBenchmarking.org MB/s, More Is Better LevelDB 1.22 Benchmark: Random Fill Sabrent USB 3.2 NVMe Direct 10 20 30 40 50 SE +/- 0.08, N = 7 SE +/- 0.04, N = 7 46.2 46.0 1. (CXX) g++ options: -O3 -lsnappy -lpthread
Drive Temperature Monitor Phoronix Test Suite System Monitoring OpenBenchmarking.org Celsius Drive Temperature Monitor Phoronix Test Suite System Monitoring Sabrent USB 3.2 NVMe Direct 12 24 36 48 60 Min: 34.85 / Avg: 41.21 / Max: 54.85 Min: 26.85 / Avg: 42.57 / Max: 62.85
Phoronix Test Suite v10.8.5