Table of contents

Subscribe to our newsletter.
No spam
100% Great content
Unsubscribe anytime

Benchmark details and full results for our NVMe servers

Tools used for NVMe benchmarking

In order to benchmark our powerful NVMe devices, we have used two Linux tools - dd and fio. You can see the test commands and the full output of the run commands below.

dd tests results

Write - speed

Test command: dd if=/dev/zero of=benchmark bs=64K count=32K conv=fdatasync 

Command output (result):

32768+0 records in
32768+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 0.950341 s, 2.3 GB/s

Test command: dd if=/dev/zero of=dd.test bs=64K count=256K conv=fdatasync

Command output (result):

262144+0 records in
262144+0 records out
17179869184 bytes (17 GB, 16 GiB) copied, 9.85727 s, 1.7 GB/s

Read - speed

Test command: dd if=dd.test of=/dev/null bs=64k count=32k

Command output (result):

32768+0 records in
32768+0 records out
2147483648 bytes (2.1 GB, 2.0 GiB) copied, 0.108124 s, 19.9 GB/s

Test command: dd if=dd.test of=/dev/null bs=64k count=128k

Command output (result):

131072+0 records in
131072+0 records out
8589934592 bytes (8.6 GB, 8.0 GiB) copied, 0.356223 s, 24.1 GB/s

fio tests

Write - speed

Test command: fio --name=write_throughput --numjobs=8 --size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=write --group_reporting=1

Command output (result):

Starting 8 processes
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
write_throughput: Laying out IO file (1 file / 10240MiB)
Jobs: 6 (f=1): [f(1),_(1),f(3),W(1),f(1),_(1)][100.0%][w=7648MiB/s][w=7648 IOPS][eta 00m:00s]
write_throughput: (groupid=0, jobs=8): err= 0: pid=1208: Wed Jul  9 14:26:45 2025
  write: IOPS=7364, BW=7373MiB/s (7731MB/s)(432GiB/60061msec); 0 zone resets
    slat (usec): min=17, max=216204, avg=65.11, stdev=935.71
    clat (usec): min=690, max=420241, avg=69426.22, stdev=24771.17
     lat (usec): min=754, max=420293, avg=69491.41, stdev=24778.89
    clat percentiles (msec):
     |  1.00th=[   29],  5.00th=[   39], 10.00th=[   44], 20.00th=[   51],
     | 30.00th=[   56], 40.00th=[   62], 50.00th=[   67], 60.00th=[   72],
     | 70.00th=[   78], 80.00th=[   85], 90.00th=[   99], 95.00th=[  113],
     | 99.00th=[  142], 99.50th=[  184], 99.90th=[  255], 99.95th=[  275],
     | 99.99th=[  384]
   bw (  MiB/s): min= 4307, max= 9641, per=100.00%, avg=7374.24, stdev=129.49, samples=952
   iops        : min= 4307, max= 9641, avg=7373.63, stdev=129.48, samples=952
  lat (usec)   : 750=0.01%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.07%, 20=0.22%, 50=18.45%
  lat (msec)   : 100=72.23%, 250=9.02%, 500=0.12%
  cpu          : usr=2.54%, sys=2.38%, ctx=15815, majf=0, minf=291
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=0,442296,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
  WRITE: bw=7373MiB/s (7731MB/s), 7373MiB/s-7373MiB/s (7731MB/s-7731MB/s), io=432GiB (464GB), run=60061-60061msec

Disk stats (read/write):
  vda: ios=143/459613, sectors=5352/937132392, merge=15/1393, ticks=8798/30429617, in_queue=30440235, util=76.03%

Write - IOPS

Test command: fio --name=write_iops --size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randwrite --group_reporting=1

Command output (result):

Starting 1 process
write_iops: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [w(1)][100.0%][w=590MiB/s][w=151k IOPS][eta 00m:00s]
write_iops: (groupid=0, jobs=1): err= 0: pid=1648: Wed Jul  9 14:28:19 2025
  write: IOPS=50.6k, BW=198MiB/s (207MB/s)(11.6GiB/60001msec); 0 zone resets
    slat (nsec): min=1081, max=13911k, avg=16122.79, stdev=106841.57
    clat (usec): min=27, max=16855, avg=1247.03, stdev=1062.31
     lat (usec): min=28, max=16866, avg=1263.15, stdev=1072.62
    clat percentiles (usec):
     |  1.00th=[  110],  5.00th=[  262], 10.00th=[  375], 20.00th=[  537],
     | 30.00th=[  668], 40.00th=[  898], 50.00th=[ 1287], 60.00th=[ 1483],
     | 70.00th=[ 1647], 80.00th=[ 1795], 90.00th=[ 1942], 95.00th=[ 2040],
     | 99.00th=[ 2474], 99.50th=[10683], 99.90th=[13173], 99.95th=[13566],
     | 99.99th=[14615]
   bw (  KiB/s): min=134896, max=617000, per=98.49%, avg=199491.48, stdev=97214.32, samples=119
   iops        : min=33724, max=154250, avg=49872.87, stdev=24303.57, samples=119
  lat (usec)   : 50=0.10%, 100=0.75%, 250=3.82%, 500=13.05%, 750=17.20%
  lat (usec)   : 1000=7.47%
  lat (msec)   : 2=51.12%, 4=5.76%, 10=0.16%, 20=0.57%
  cpu          : usr=7.07%, sys=61.03%, ctx=1044959, majf=0, minf=36
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=0,3038365,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
  WRITE: bw=198MiB/s (207MB/s), 198MiB/s-198MiB/s (207MB/s-207MB/s), io=11.6GiB (12.4GB), run=60001-60001msec

Disk stats (read/write):
  vda: ios=0/3191910, sectors=0/35099352, merge=0/1195853, ticks=0/517642, in_queue=517729, util=54.26%

Read - speed

Test command: fio --name=read_throughput --numjobs=8 --size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=1M --iodepth=64 --rw=read --group_reporting=1

Command output (result):

Starting 8 processes
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
read_throughput: Laying out IO file (1 file / 10240MiB)
Jobs: 8 (f=8): [R(8)][100.0%][r=23.4GiB/s][r=24.0k IOPS][eta 00m:00s]                   
read_throughput: (groupid=0, jobs=8): err= 0: pid=1661: Wed Jul  9 14:31:49 2025
  read: IOPS=24.0k, BW=23.5GiB/s (25.2GB/s)(1409GiB/60021msec)
    slat (usec): min=11, max=6548, avg=31.27, stdev=30.51
    clat (usec): min=4783, max=78718, avg=21267.04, stdev=2518.73
     lat (usec): min=4818, max=78750, avg=21298.31, stdev=2518.63
    clat percentiles (usec):
     |  1.00th=[11338],  5.00th=[19530], 10.00th=[20055], 20.00th=[20579],
     | 30.00th=[20841], 40.00th=[21103], 50.00th=[21103], 60.00th=[21365],
     | 70.00th=[21627], 80.00th=[21890], 90.00th=[22414], 95.00th=[22938],
     | 99.00th=[31851], 99.50th=[33817], 99.90th=[40109], 99.95th=[44303],
     | 99.99th=[66323]
   bw (  MiB/s): min=23136, max=24999, per=100.00%, avg=24069.62, stdev=42.14, samples=954
   iops        : min=23136, max=24999, avg=24068.95, stdev=42.16, samples=954
  lat (msec)   : 10=0.61%, 20=7.71%, 50=91.67%, 100=0.04%
  cpu          : usr=0.48%, sys=11.01%, ctx=168125, majf=0, minf=291
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=1442599,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=23.5GiB/s (25.2GB/s), 23.5GiB/s-23.5GiB/s (25.2GB/s-25.2GB/s), io=1409GiB (1513GB), run=60021-60021msec

Disk stats (read/write):
  vda: ios=1490241/25, sectors=3052015616/840, merge=0/81, ticks=31296269/408, in_queue=31296708, util=55.02%

Read - IOPS

Test command: fio --name=read_iops --size=10G --time_based --runtime=60s --ramp_time=2s --ioengine=libaio --direct=1 --verify=0 --bs=4K --iodepth=64 --rw=randread --group_reporting=1

Command output (result):

Starting 1 process
read_iops: Laying out IO file (1 file / 10240MiB)
Jobs: 1 (f=1): [r(1)][100.0%][r=848MiB/s][r=217k IOPS][eta 00m:00s]
read_iops: (groupid=0, jobs=1): err= 0: pid=1674: Wed Jul  9 14:33:32 2025
  read: IOPS=215k, BW=841MiB/s (881MB/s)(49.3GiB/60001msec)
    slat (nsec): min=1011, max=259773, avg=1423.83, stdev=1308.05
    clat (usec): min=106, max=1626, avg=295.78, stdev=57.09
     lat (usec): min=108, max=1627, avg=297.20, stdev=57.05
    clat percentiles (usec):
     |  1.00th=[  182],  5.00th=[  208], 10.00th=[  223], 20.00th=[  241],
     | 30.00th=[  260], 40.00th=[  281], 50.00th=[  302], 60.00th=[  314],
     | 70.00th=[  326], 80.00th=[  343], 90.00th=[  367], 95.00th=[  392],
     | 99.00th=[  433], 99.50th=[  445], 99.90th=[  474], 99.95th=[  486],
     | 99.99th=[  627]
   bw (  KiB/s): min=852360, max=871264, per=100.00%, avg=861023.85, stdev=4055.12, samples=120
   iops        : min=213090, max=217816, avg=215255.99, stdev=1013.82, samples=120
  lat (usec)   : 250=25.17%, 500=74.80%, 750=0.03%, 1000=0.01%
  lat (msec)   : 2=0.01%
  cpu          : usr=12.13%, sys=44.02%, ctx=463774, majf=0, minf=36
  IO depths    : 1=0.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=100.0%
     submit    : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete  : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0%
     issued rwts: total=12911582,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=64

Run status group 0 (all jobs):
   READ: bw=841MiB/s (881MB/s), 841MiB/s-841MiB/s (881MB/s-881MB/s), io=49.3GiB (52.9GB), run=60001-60001msec

Disk stats (read/write):
  vda: ios=13338105/30, sectors=106704840/848, merge=0/76, ticks=3409775/12, in_queue=3409787, util=58.07%

Get a cloud server with NVMe today!