SSD Linux Ubuntu NVMe Disk Benchmarks

Linux NVMe SSD benchmarks by Michael Larabel for a future article.

HTML result view exported from: https://openbenchmarking.org/result/1806049-AR-SSDLINUXU10.

SSD Linux Ubuntu NVMe Disk BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerOpenGLCompilerFile-SystemScreen ResolutionCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GBIntel Core i9-7980XE @ 4.40GHz (18 Cores / 36 Threads)ASUS PRIME X299-A (1004 BIOS)Intel Sky Lake-E DMI3 Registers4 x 4096 MB DDR4-3200MT/s Corsair CMK16GX4M4C3200C16256GB INTEL SSDPEKKW256G8 + 120GB Force MP500NV134 8192MBRealtek ALC1220Acer B286HKIntel ConnectionUbuntu 18.044.17.0-999-generic (x86_64) 20180531GNOME Shell 3.28.1X Server 1.19.64.3 Mesa 18.0.0-rc5GCC 7.3.0ext43840x2160256GB INTEL SSDPEKKW256G8 + 256GB INTEL SSDPEKKW256G7256GB INTEL SSDPEKKW256G8256GB INTEL SSDPEKKW256G8 + 118GB INTEL SSDPEK1W120GA280GB INTEL SSDPE21D280GA + 256GB INTEL SSDPEKKW256G8Samsung SSD 950 PRO 256GB + 256GB INTEL SSDPEKKW256G8256GB INTEL SSDPEKKW256G8 + Samsung SSD 970 EVO 250GBOpenBenchmarking.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++ --enable-libmpx --enable-libstdcxx-debug --enable-libstdcxx-time=yes --enable-multiarch --enable-multilib --enable-nls --enable-objc-gc=auto --enable-offload-targets=nvptx-none --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-as=/usr/bin/x86_64-linux-gnu-as --with-default-libstdcxx-abi=new --with-gcc-major-version-only --with-ld=/usr/bin/x86_64-linux-gnu-ld --with-multilib-list=m32,m64,mx32 --with-target-system-zlib --with-tune=generic --without-cuda-driver -v Disk Details- Corsair Force MP500 120GB: NONE / relatime,rw- Intel 600p 256GB SSDPEKKW256G7: NONE / relatime,rw- Intel 760p 256GB SSDPEKKW256G8: NONE / errors=remount-ro,relatime,rw- Intel 800p 120GB SSDPEK1W120GA: NONE / relatime,rw- Intel 900p 280GB SSDPE21D280GA: NONE / errors=remount-ro,relatime,rw- Samsung 950 PRO 256GB: NONE / errors=remount-ro,relatime,rw- Samsung 970 EVO 250GB: NONE / relatime,rwProcessor Details- Scaling Governor: intel_pstate performancePython Details- Corsair Force MP500 120GB, Intel 760p 256GB SSDPEKKW256G8, Intel 800p 120GB SSDPEK1W120GA, Intel 900p 280GB SSDPE21D280GA, Samsung 950 PRO 256GB: Python 2.7.15rc1 + Python 3.6.5Security Details- KPTI + __user pointer sanitization + Full generic retpoline Protection

SSD Linux Ubuntu NVMe Disk Benchmarksbuild-gcc: Time To Compilebuild-linux-kernel: Time To Compilefio: Seq Read - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 64KB - Default Test Directoryfio: Seq Read - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 64KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfs-mark: 1000 Files, 1MB Sizefs-mark: 5000 Files, 1MB Size, 4 Threadshdparm-read: /dev/nvme0n1iozone: 4Kb - 8GB - Write Performanceiozone: 64Kb - 8GB - Write Performancepgbench: Buffer Test - Normal Load - Read Writepgbench: Buffer Test - Heavy Contention - Read Writesqlite: Timed SQLite InsertionsCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB537.7235.58141922212223310300316423.67899.071605.97279.69283.5212318.8511414.8222.60534.7535.6865514771451527536540270.40100.931605.75165.18116.3312344.5014781.6318.91537.2735.779862628289299211161095221.70128.401618.65290.50300.578959.0611089.6718.45536.0935.69137913821388613613620404.20535.931628.20582.10588.1535389.1235426.47535.6135.7295721302438101611101134283.73117.332502.58298.08306.319614.9411516.3321.00536.1135.7299027672944101411121139193.10123.001289.48309.00307.839192.139931.3013.83534.4635.74155431313131145814661466219.43202.801602.26741.45479.6914295.1214114.1540.67OpenBenchmarking.org

Timed GCC Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed GCC Compilation 7.2Time To CompileCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB120240360480600SE +/- 0.69, N = 3SE +/- 0.23, N = 3SE +/- 0.19, N = 3SE +/- 0.05, N = 3SE +/- 0.48, N = 3SE +/- 1.75, N = 3SE +/- 0.06, N = 3537.72534.75537.27536.09535.61536.11534.46

Timed Linux Kernel Compilation

Time To Compile

OpenBenchmarking.orgSeconds, Fewer Is BetterTimed Linux Kernel Compilation 4.13Time To CompileCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB816243240SE +/- 0.64, N = 3SE +/- 0.65, N = 3SE +/- 0.68, N = 3SE +/- 0.63, N = 3SE +/- 0.67, N = 3SE +/- 0.68, N = 3SE +/- 0.65, N = 335.5835.6835.7735.6935.7235.7235.74

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB30060090012001500SE +/- 15.01, N = 3SE +/- 0.67, N = 3SE +/- 0.67, N = 3SE +/- 2.33, N = 31419655986137995799015541. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test DirectoryCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB7001400210028003500SE +/- 37.00, N = 3SE +/- 0.88, N = 3SE +/- 0.58, N = 322211477262813822130276731311. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Read - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB7001400210028003500SE +/- 55.92, N = 3SE +/- 0.58, N = 3SE +/- 6.69, N = 322231451289213882438294431311. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 4KB - Disk Target: Default Test DirectoryCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB30060090012001500SE +/- 18.66, N = 3SE +/- 1.76, N = 3SE +/- 8.29, N = 3SE +/- 1.20, N = 3SE +/- 7.51, N = 33105279926131016101414581. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test Directory

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 64KB - Disk Target: Default Test DirectoryCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB30060090012001500SE +/- 11.00, N = 3SE +/- 1.53, N = 3SE +/- 14.19, N = 3SE +/- 29.05, N = 3SE +/- 29.24, N = 330053611166131110111214661. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

Flexible IO Tester

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

OpenBenchmarking.orgMB/s, More Is BetterFlexible IO Tester 3.1Type: Sequential Write - IO Engine: Linux AIO - Buffered: No - Direct: Yes - Block Size: 2MB - Disk Target: Default Test DirectoryCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB30060090012001500SE +/- 15.00, N = 3SE +/- 1.86, N = 3SE +/- 26.87, N = 3SE +/- 0.33, N = 3SE +/- 9.54, N = 331654010956201134113914661. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

FS-Mark

Test: 1000 Files, 1MB Size

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 1000 Files, 1MB SizeCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB90180270360450SE +/- 3.06, N = 3SE +/- 2.14, N = 3SE +/- 78.61, N = 3SE +/- 16.92, N = 3SE +/- 102.27, N = 3SE +/- 94.53, N = 3SE +/- 0.26, N = 3423.67270.40221.70404.20283.73193.10219.431. (CC) gcc options: -static

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

OpenBenchmarking.orgFiles/s, More Is BetterFS-Mark 3.3Test: 5000 Files, 1MB Size, 4 ThreadsCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB2004006008001000SE +/- 92.64, N = 3SE +/- 5.33, N = 3SE +/- 6.40, N = 3SE +/- 2.71, N = 3SE +/- 2.08, N = 3SE +/- 2.20, N = 2SE +/- 47.20, N = 3899.07100.93128.40535.93117.33123.00202.801. (CC) gcc options: -static

hdparm Timed Disk Reads

Disk To Read: /dev/nvme0n1

OpenBenchmarking.orgMB/s, More Is Betterhdparm Timed Disk ReadsDisk To Read: /dev/nvme0n1Corsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB5001000150020002500SE +/- 0.18, N = 5SE +/- 0.51, N = 5SE +/- 3.95, N = 5SE +/- 0.29, N = 5SE +/- 1.17, N = 5SE +/- 13.77, N = 5SE +/- 0.34, N = 51605.971605.751618.651628.202502.581289.481602.26

IOzone

Record Size: 4Kb - File Size: 8GB - Disk Test: Write Performance

OpenBenchmarking.orgMB/s, More Is BetterIOzone 3.465Record Size: 4Kb - File Size: 8GB - Disk Test: Write PerformanceCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB160320480640800SE +/- 1.88, N = 3SE +/- 60.39, N = 3SE +/- 28.96, N = 3SE +/- 4.71, N = 3SE +/- 28.69, N = 3SE +/- 22.86, N = 3SE +/- 293.16, N = 3279.69165.18290.50582.10298.08309.00741.451. (CC) gcc options: -O3

IOzone

Record Size: 64Kb - File Size: 8GB - Disk Test: Write Performance

OpenBenchmarking.orgMB/s, More Is BetterIOzone 3.465Record Size: 64Kb - File Size: 8GB - Disk Test: Write PerformanceCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB130260390520650SE +/- 0.46, N = 3SE +/- 9.36, N = 3SE +/- 25.07, N = 3SE +/- 6.24, N = 3SE +/- 23.02, N = 3SE +/- 21.98, N = 3SE +/- 87.09, N = 3283.52116.33300.57588.15306.31307.83479.691. (CC) gcc options: -O3

PostgreSQL pgbench

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

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Normal Load - Mode: Read WriteCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB8K16K24K32K40KSE +/- 265.47, N = 3SE +/- 2806.69, N = 3SE +/- 1294.59, N = 3SE +/- 124.61, N = 3SE +/- 1809.27, N = 3SE +/- 944.39, N = 3SE +/- 38.42, N = 312318.8512344.508959.0635389.129614.949192.1314295.121. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

PostgreSQL pgbench

Scaling: Buffer Test - Test: Heavy Contention - Mode: Read Write

OpenBenchmarking.orgTPS, More Is BetterPostgreSQL pgbench 10.3Scaling: Buffer Test - Test: Heavy Contention - Mode: Read WriteCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB8K16K24K32K40KSE +/- 165.92, N = 3SE +/- 118.92, N = 3SE +/- 462.48, N = 3SE +/- 165.43, N = 3SE +/- 1721.70, N = 3SE +/- 1062.02, N = 3SE +/- 58.08, N = 311414.8214781.6311089.6735426.4711516.339931.3014114.151. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

SQLite

Timed SQLite Insertions

OpenBenchmarking.orgSeconds, Fewer Is BetterSQLite 3.22Timed SQLite InsertionsCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB918273645SE +/- 3.95, N = 3SE +/- 0.11, N = 3SE +/- 3.95, N = 3SE +/- 3.84, N = 3SE +/- 0.59, N = 3SE +/- 0.02, N = 322.6018.9118.4521.0013.8340.671. (CC) gcc options: -O2 -ldl -lpthread

Drive Temperature (nvme1n1) Monitor

Phoronix Test Suite System Monitoring

OpenBenchmarking.orgCelsiusDrive Temperature (nvme1n1) MonitorPhoronix Test Suite System MonitoringCorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Intel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GAIntel 900p 280GB SSDPE21D280GASamsung 950 PRO 256GBSamsung 970 EVO 250GB1530456075Min: 52 / Avg: 62.51 / Max: 80Min: 35 / Avg: 55.23 / Max: 70Min: 31 / Avg: 42.68 / Max: 54Min: 39 / Avg: 53.04 / Max: 65Min: 31 / Avg: 37.59 / Max: 39Min: 28 / Avg: 30.03 / Max: 33Min: 30 / Avg: 42.53 / Max: 64


Phoronix Test Suite v10.8.4