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&rdt&grs.

SSD Linux Ubuntu NVMe Disk BenchmarksProcessorMotherboardChipsetMemoryDiskGraphicsAudioMonitorNetworkOSKernelDesktopDisplay ServerOpenGLCompilerFile-SystemScreen ResolutionIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 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 SSDPEKKW256G8NV134 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 + 118GB INTEL SSDPEK1W120GASamsung SSD 950 PRO 256GB + 256GB INTEL SSDPEKKW256G8280GB INTEL SSDPE21D280GA + 256GB INTEL SSDPEKKW256G8256GB INTEL SSDPEKKW256G8 + 120GB Force MP500256GB INTEL SSDPEKKW256G8 + 256GB INTEL SSDPEKKW256G7256GB 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- Intel 760p 256GB SSDPEKKW256G8: NONE / errors=remount-ro,relatime,rw- Intel 800p 120GB SSDPEK1W120GA: NONE / relatime,rw- Samsung 950 PRO 256GB: NONE / errors=remount-ro,relatime,rw- Intel 900p 280GB SSDPE21D280GA: NONE / errors=remount-ro,relatime,rw- Corsair Force MP500 120GB: NONE / relatime,rw- Intel 600p 256GB SSDPEKKW256G7: NONE / relatime,rw- Samsung 970 EVO 250GB: NONE / relatime,rwProcessor Details- Scaling Governor: intel_pstate performancePython Details- Intel 760p 256GB SSDPEKKW256G8, Intel 800p 120GB SSDPEK1W120GA, Samsung 950 PRO 256GB, Intel 900p 280GB SSDPE21D280GA, Corsair Force MP500 120GB: Python 2.7.15rc1 + Python 3.6.5Security Details- KPTI + __user pointer sanitization + Full generic retpoline Protection

SSD Linux Ubuntu NVMe Disk Benchmarksfio: Seq Write - Linux AIO - No - Yes - 64KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 4KB - Default Test Directoryfio: Seq Write - Linux AIO - No - Yes - 2MB - Default Test Directoryfio: 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 Directoryhdparm-read: /dev/nvme0n1build-gcc: Time To Compilebuild-linux-kernel: Time To Compilesqlite: Timed SQLite Insertionspgbench: Buffer Test - Heavy Contention - Read Writepgbench: Buffer Test - Normal Load - Read Writeiozone: 64Kb - 8GB - Write Performanceiozone: 4Kb - 8GB - Write Performancefs-mark: 5000 Files, 1MB Size, 4 Threadsfs-mark: 1000 Files, 1MB SizeIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB11169921095986262828921618.65537.2735.7718.4511089.678959.06300.57290.50128.40221.706136136201379138213881628.20536.0935.6935426.4735389.12588.15582.10535.93404.20111210141139990276729441289.48536.1135.7213.839931.309192.13307.83309.00123.00193.10111010161134957213024382502.58535.6135.7221.0011516.339614.94306.31298.08117.33283.733003103161419222122231605.97537.7235.5822.6011414.8212318.85283.52279.69899.07423.67536527540655147714511605.75534.7535.6818.9114781.6312344.50116.33165.18100.93270.401466145814661554313131311602.26534.4635.7440.6714114.1514295.12479.69741.45202.80219.43OpenBenchmarking.org

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 DirectoryIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB30060090012001500SE +/- 14.19, N = 3SE +/- 29.24, N = 3SE +/- 29.05, N = 3SE +/- 11.00, N = 3SE +/- 1.53, N = 311166131112111030053614661. (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 DirectoryIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB30060090012001500SE +/- 8.29, N = 3SE +/- 1.20, N = 3SE +/- 18.66, N = 3SE +/- 1.76, N = 3SE +/- 7.51, N = 39926131014101631052714581. (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 DirectoryIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB30060090012001500SE +/- 26.87, N = 3SE +/- 0.33, N = 3SE +/- 9.54, N = 3SE +/- 15.00, N = 3SE +/- 1.86, N = 310956201139113431654014661. (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: 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 DirectoryIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB30060090012001500SE +/- 0.67, N = 3SE +/- 0.67, N = 3SE +/- 15.01, N = 3SE +/- 2.33, N = 39861379990957141965515541. (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 DirectoryIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB7001400210028003500SE +/- 0.58, N = 3SE +/- 0.88, N = 3SE +/- 37.00, N = 326281382276721302221147731311. (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 DirectoryIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB7001400210028003500SE +/- 0.58, N = 3SE +/- 55.92, N = 3SE +/- 6.69, N = 328921388294424382223145131311. (CC) gcc options: -rdynamic -std=gnu99 -ffast-math -include -O3 -U_FORTIFY_SOURCE -lrt -laio -lm -lpthread -ldl

hdparm Timed Disk Reads

Disk To Read: /dev/nvme0n1

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

Timed GCC Compilation

Time To Compile

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

Timed Linux Kernel Compilation

Time To Compile

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

Drive Temperature (nvme1n1) Monitor

Phoronix Test Suite System Monitoring

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

SQLite

Timed SQLite Insertions

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

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 WriteIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB8K16K24K32K40KSE +/- 462.48, N = 3SE +/- 165.43, N = 3SE +/- 1062.02, N = 3SE +/- 1721.70, N = 3SE +/- 165.92, N = 3SE +/- 118.92, N = 3SE +/- 58.08, N = 311089.6735426.479931.3011516.3311414.8214781.6314114.151. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

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 WriteIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB8K16K24K32K40KSE +/- 1294.59, N = 3SE +/- 124.61, N = 3SE +/- 944.39, N = 3SE +/- 1809.27, N = 3SE +/- 265.47, N = 3SE +/- 2806.69, N = 3SE +/- 38.42, N = 38959.0635389.129192.139614.9412318.8512344.5014295.121. (CC) gcc options: -fno-strict-aliasing -fwrapv -O2 -lpgcommon -lpgport -lpq -lpthread -lrt -lcrypt -ldl -lm

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 PerformanceIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB130260390520650SE +/- 25.07, N = 3SE +/- 6.24, N = 3SE +/- 21.98, N = 3SE +/- 23.02, N = 3SE +/- 0.46, N = 3SE +/- 9.36, N = 3SE +/- 87.09, N = 3300.57588.15307.83306.31283.52116.33479.691. (CC) gcc options: -O3

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 PerformanceIntel 760p 256GB SSDPEKKW256G8Intel 800p 120GB SSDPEK1W120GASamsung 950 PRO 256GBIntel 900p 280GB SSDPE21D280GACorsair Force MP500 120GBIntel 600p 256GB SSDPEKKW256G7Samsung 970 EVO 250GB160320480640800SE +/- 28.96, N = 3SE +/- 4.71, N = 3SE +/- 22.86, N = 3SE +/- 28.69, N = 3SE +/- 1.88, N = 3SE +/- 60.39, N = 3SE +/- 293.16, N = 3290.50582.10309.00298.08279.69165.18741.451. (CC) gcc options: -O3

FS-Mark

Test: 5000 Files, 1MB Size, 4 Threads

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

FS-Mark

Test: 1000 Files, 1MB Size

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


Phoronix Test Suite v10.8.4