Skip to content

Instantly share code, notes, and snippets.

@brianmichel
Last active August 22, 2025 20:24
Show Gist options
  • Select an option

  • Save brianmichel/056245a30bda5157df8a50ae6e2600a2 to your computer and use it in GitHub Desktop.

Select an option

Save brianmichel/056245a30bda5157df8a50ae6e2600a2 to your computer and use it in GitHub Desktop.
Testing IOPS On macOS Machines
#!/bin/bash
TEST_DIR="/tmp/fio-test"
mkdir -p $TEST_DIR
# For macOS, use posixaio engine
ENGINE="posixaio"
echo "Testing with async I/O engine: $ENGINE"
# Sequential tests (these are already good)
fio --name=seq-read --rw=read --size=2G --bs=1M \
--numjobs=1 --time_based --runtime=30 \
--group_reporting --directory=$TEST_DIR
fio --name=seq-write --rw=write --size=2G --bs=1M \
--numjobs=1 --time_based --runtime=30 \
--group_reporting --directory=$TEST_DIR
# Random tests with proper async I/O
fio --name=rand-read --rw=randread --size=2G --bs=4k \
--numjobs=4 --iodepth=64 --ioengine=$ENGINE \
--time_based --runtime=30 --group_reporting \
--directory=$TEST_DIR
fio --name=rand-write --rw=randwrite --size=2G --bs=4k \
--numjobs=4 --iodepth=64 --ioengine=$ENGINE \
--time_based --runtime=30 --group_reporting \
--directory=$TEST_DIR
rm -rf $TEST_DIR/*
@brianmichel
Copy link
Author

Testing of 8 core, 16GB instances was as follows. All tests were ran on M1 hardware. Units are average IOPS.

Instance Type Sequential Read Sequential Write Random Read Random Write
bare metal mac mini 15681.61 11895.90 41963.85 26452.88
tart vm (sync=none) 13830.44 11177.36 41363.85 20291.15
tart vm (no options) 16415.20 11669.44 48899.83 17321.73

@brianmichel
Copy link
Author

Raw Data

Bare Metal Mac Mini

Testing with async I/O engine: posixaio
seq-read: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=1
fio-3.40
Starting 1 process
seq-read: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [R(1)][100.0%][r=15.3GiB/s][r=15.7k IOPS][eta 00m:00s]
seq-read: (groupid=0, jobs=1): err= 0: pid=42586: Fri Aug 22 15:15:53 2025
  read: IOPS=15.7k, BW=15.3GiB/s (16.4GB/s)(459GiB/30001msec)
    clat (usec): min=60, max=222, avg=63.66, stdev= 2.44
     lat (usec): min=60, max=222, avg=63.68, stdev= 2.44
    clat percentiles (usec):
     |  1.00th=[   62],  5.00th=[   63], 10.00th=[   63], 20.00th=[   63],
     | 30.00th=[   64], 40.00th=[   64], 50.00th=[   64], 60.00th=[   64],
     | 70.00th=[   65], 80.00th=[   65], 90.00th=[   67], 95.00th=[   68],
     | 99.00th=[   73], 99.50th=[   76], 99.90th=[   95], 99.95th=[  100],
     | 99.99th=[  108]
   bw (  MiB/s): min=15337, max=15787, per=100.00%, avg=15682.03, stdev=80.43, samples=59
   iops        : min=15337, max=15787, avg=15681.61, stdev=80.34, samples=59
  lat (usec)   : 100=99.94%, 250=0.06%
  cpu          : usr=0.51%, sys=99.48%, ctx=12, majf=0, minf=74
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%, >=64=0.0%
     issued rwts: total=470286,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=15.3GiB/s (16.4GB/s), 15.3GiB/s-15.3GiB/s (16.4GB/s-16.4GB/s), io=459GiB (493GB), run=30001-30001msec
seq-write: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=1
fio-3.40
Starting 1 process
seq-write: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [f(1)][100.0%][w=11.2GiB/s][w=11.5k IOPS][eta 00m:00s]
seq-write: (groupid=0, jobs=1): err= 0: pid=42606: Fri Aug 22 15:16:25 2025
  write: IOPS=12.0k, BW=11.7GiB/s (12.6GB/s)(352GiB/30001msec); 0 zone resets
    clat (usec): min=70, max=115807, avg=81.20, stdev=259.16
     lat (usec): min=72, max=115809, avg=83.05, stdev=259.17
    clat percentiles (usec):
     |  1.00th=[   74],  5.00th=[   75], 10.00th=[   75], 20.00th=[   76],
     | 30.00th=[   77], 40.00th=[   77], 50.00th=[   77], 60.00th=[   78],
     | 70.00th=[   79], 80.00th=[   80], 90.00th=[   81], 95.00th=[   83],
     | 99.00th=[   92], 99.50th=[  115], 99.90th=[  873], 99.95th=[ 1811],
     | 99.99th=[ 6325]
   bw (  MiB/s): min=  832, max=12543, per=98.93%, avg=11896.32, stdev=2208.11, samples=60
   iops        : min=  832, max=12543, avg=11895.90, stdev=2208.04, samples=60
  lat (usec)   : 100=99.26%, 250=0.43%, 500=0.07%, 750=0.05%, 1000=0.10%
  lat (msec)   : 2=0.06%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%
  lat (msec)   : 250=0.01%
  cpu          : usr=2.60%, sys=94.13%, ctx=8044, majf=0, minf=11
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%, >=64=0.0%
     issued rwts: total=0,360774,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=11.7GiB/s (12.6GB/s), 11.7GiB/s-11.7GiB/s (12.6GB/s-12.6GB/s), io=352GiB (378GB), run=30001-30001msec
rand-read: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=64
...
fio-3.40
Starting 4 processes
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
Jobs: 4 (f=4): [r(4)][100.0%][r=176MiB/s][r=45.1k IOPS][eta 00m:00s]
rand-read: (groupid=0, jobs=4): err= 0: pid=42629: Fri Aug 22 15:16:59 2025
  read: IOPS=42.0k, BW=164MiB/s (172MB/s)(4917MiB/30002msec)
    slat (nsec): min=0, max=44000, avg=359.97, stdev=657.69
    clat (usec): min=858, max=55603, avg=1524.40, stdev=571.86
     lat (usec): min=858, max=55604, avg=1524.76, stdev=571.85
    clat percentiles (usec):
     |  1.00th=[ 1172],  5.00th=[ 1237], 10.00th=[ 1287], 20.00th=[ 1336],
     | 30.00th=[ 1369], 40.00th=[ 1401], 50.00th=[ 1434], 60.00th=[ 1467],
     | 70.00th=[ 1516], 80.00th=[ 1582], 90.00th=[ 1729], 95.00th=[ 1926],
     | 99.00th=[ 3687], 99.50th=[ 3982], 99.90th=[ 5080], 99.95th=[ 6325],
     | 99.99th=[29754]
   bw (  KiB/s): min=141032, max=185331, per=100.00%, avg=167860.66, stdev=1750.16, samples=236
   iops        : min=35258, max=46332, avg=41963.85, stdev=437.53, samples=236
  lat (usec)   : 1000=0.01%
  lat (msec)   : 2=95.96%, 4=3.55%, 10=0.47%, 20=0.01%, 50=0.01%
  lat (msec)   : 100=0.01%
  cpu          : usr=2.55%, sys=2.57%, ctx=1083301, majf=0, minf=39
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=48.7%, 16=51.3%, 32=0.0%, >=64=0.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=99.1%, 8=0.9%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=1258702,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=164MiB/s (172MB/s), 164MiB/s-164MiB/s (172MB/s-172MB/s), io=4917MiB (5156MB), run=30002-30002msec
rand-write: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=64
...
fio-3.40
Starting 4 processes
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
Jobs: 4 (f=4): [w(4)][100.0%][w=108MiB/s][w=27.6k IOPS][eta 00m:00s]
rand-write: (groupid=0, jobs=4): err= 0: pid=42747: Fri Aug 22 15:17:34 2025
  write: IOPS=26.7k, BW=104MiB/s (109MB/s)(3129MiB/30002msec); 0 zone resets
    slat (nsec): min=0, max=46000, avg=377.97, stdev=721.84
    clat (usec): min=706, max=46304, avg=2395.90, stdev=4005.77
     lat (usec): min=707, max=46305, avg=2396.28, stdev=4005.83
    clat percentiles (usec):
     |  1.00th=[ 1090],  5.00th=[ 1172], 10.00th=[ 1221], 20.00th=[ 1270],
     | 30.00th=[ 1319], 40.00th=[ 1352], 50.00th=[ 1401], 60.00th=[ 1434],
     | 70.00th=[ 1483], 80.00th=[ 1582], 90.00th=[ 1827], 95.00th=[10814],
     | 99.00th=[22152], 99.50th=[23462], 99.90th=[27657], 99.95th=[29230],
     | 99.99th=[33817]
   bw (  KiB/s): min=10806, max=183091, per=99.08%, avg=105816.82, stdev=6054.33, samples=240
   iops        : min= 2700, max=45772, avg=26452.88, stdev=1513.63, samples=240
  lat (usec)   : 750=0.01%, 1000=0.13%
  lat (msec)   : 2=91.64%, 4=1.41%, 10=1.68%, 20=2.99%, 50=2.15%
  cpu          : usr=1.66%, sys=1.69%, ctx=695409, majf=0, minf=38
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=48.4%, 16=51.6%, 32=0.0%, >=64=0.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=99.1%, 8=0.9%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,801036,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=104MiB/s (109MB/s), 104MiB/s-104MiB/s (109MB/s-109MB/s), io=3129MiB (3281MB), run=30002-30002msec

Tart VM (sync=none)

Testing with async I/O engine: posixaio
seq-read: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=1
fio-3.40
Starting 1 process
seq-read: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [R(1)][100.0%][r=14.1GiB/s][r=14.4k IOPS][eta 00m:00s]
seq-read: (groupid=0, jobs=1): err= 0: pid=728: Fri Aug 22 19:36:00 2025
  read: IOPS=13.8k, BW=13.5GiB/s (14.5GB/s)(405GiB/30001msec)
    clat (usec): min=60, max=42925, avg=72.10, stdev=79.60
     lat (usec): min=60, max=42925, avg=72.14, stdev=79.61
    clat percentiles (usec):
     |  1.00th=[   64],  5.00th=[   65], 10.00th=[   65], 20.00th=[   67],
     | 30.00th=[   68], 40.00th=[   68], 50.00th=[   69], 60.00th=[   70],
     | 70.00th=[   71], 80.00th=[   74], 90.00th=[   80], 95.00th=[   90],
     | 99.00th=[  129], 99.50th=[  157], 99.90th=[  293], 99.95th=[  424],
     | 99.99th=[ 1221]
   bw (  MiB/s): min= 8617, max=14838, per=100.00%, avg=13830.91, stdev=878.86, samples=59
   iops        : min= 8617, max=14838, avg=13830.44, stdev=878.88, samples=59
  lat (usec)   : 100=97.17%, 250=2.69%, 500=0.10%, 750=0.02%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.01%, 50=0.01%
  cpu          : usr=0.86%, sys=99.13%, ctx=15, majf=0, minf=75
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%, >=64=0.0%
     issued rwts: total=414541,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=13.5GiB/s (14.5GB/s), 13.5GiB/s-13.5GiB/s (14.5GB/s-14.5GB/s), io=405GiB (435GB), run=30001-30001msec
seq-write: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=1
fio-3.40
Starting 1 process
seq-write: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [f(1)][100.0%][w=10.7GiB/s][w=11.0k IOPS][eta 00m:00s]
seq-write: (groupid=0, jobs=1): err= 0: pid=736: Fri Aug 22 19:36:31 2025
  write: IOPS=11.2k, BW=10.9GiB/s (11.7GB/s)(327GiB/30001msec); 0 zone resets
    clat (usec): min=65, max=12770, avg=87.03, stdev=74.06
     lat (usec): min=67, max=19127, avg=89.26, stdev=80.53
    clat percentiles (usec):
     |  1.00th=[   71],  5.00th=[   73], 10.00th=[   74], 20.00th=[   75],
     | 30.00th=[   77], 40.00th=[   79], 50.00th=[   80], 60.00th=[   82],
     | 70.00th=[   83], 80.00th=[   85], 90.00th=[   90], 95.00th=[  102],
     | 99.00th=[  326], 99.50th=[  519], 99.90th=[  922], 99.95th=[ 1004],
     | 99.99th=[ 2114]
   bw (  MiB/s): min= 1677, max=12218, per=100.00%, avg=11177.83, stdev=2152.19, samples=59
   iops        : min= 1677, max=12218, avg=11177.36, stdev=2152.14, samples=59
  lat (usec)   : 100=94.33%, 250=4.39%, 500=0.70%, 750=0.37%, 1000=0.17%
  lat (msec)   : 2=0.04%, 4=0.01%, 10=0.01%, 20=0.01%
  cpu          : usr=3.13%, sys=95.61%, ctx=2488, majf=0, minf=11
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%, >=64=0.0%
     issued rwts: total=0,335168,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=10.9GiB/s (11.7GB/s), 10.9GiB/s-10.9GiB/s (11.7GB/s-11.7GB/s), io=327GiB (351GB), run=30001-30001msec
rand-read: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=64
...
fio-3.40
Starting 4 processes
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
Jobs: 4 (f=4): [r(4)][100.0%][r=204MiB/s][r=52.2k IOPS][eta 00m:00s]
rand-read: (groupid=0, jobs=4): err= 0: pid=751: Fri Aug 22 19:37:10 2025
  read: IOPS=41.4k, BW=162MiB/s (170MB/s)(4854MiB/30002msec)
    slat (nsec): min=0, max=3849.0k, avg=704.57, stdev=4341.73
    clat (usec): min=19, max=103071, avg=1542.57, stdev=1326.84
     lat (usec): min=41, max=103072, avg=1543.27, stdev=1326.96
    clat percentiles (usec):
     |  1.00th=[  807],  5.00th=[  963], 10.00th=[ 1057], 20.00th=[ 1172],
     | 30.00th=[ 1254], 40.00th=[ 1336], 50.00th=[ 1418], 60.00th=[ 1500],
     | 70.00th=[ 1598], 80.00th=[ 1729], 90.00th=[ 1942], 95.00th=[ 2180],
     | 99.00th=[ 3752], 99.50th=[ 5669], 99.90th=[17433], 99.95th=[28967],
     | 99.99th=[50594]
   bw (  KiB/s): min=96931, max=211336, per=99.88%, avg=165460.69, stdev=6196.21, samples=236
   iops        : min=24232, max=52834, avg=41363.85, stdev=1549.04, samples=236
  lat (usec)   : 20=0.01%, 50=0.01%, 100=0.01%, 250=0.01%, 500=0.01%
  lat (usec)   : 750=0.44%, 1000=6.40%
  lat (msec)   : 2=84.97%, 4=7.28%, 10=0.66%, 20=0.15%, 50=0.07%
  lat (msec)   : 100=0.01%, 250=0.01%
  cpu          : usr=3.97%, sys=4.38%, ctx=643923, majf=0, minf=39
  IO depths    : 1=0.1%, 2=0.1%, 4=0.2%, 8=54.3%, 16=45.4%, 32=0.0%, >=64=0.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=98.2%, 8=1.7%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=1242543,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=162MiB/s (170MB/s), 162MiB/s-162MiB/s (170MB/s-170MB/s), io=4854MiB (5089MB), run=30002-30002msec
rand-write: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=64
...
fio-3.40
Starting 4 processes
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [f(1),E(3)][100.0%][w=3549KiB/s][w=887 IOPS][eta 00m:00s]
rand-write: (groupid=0, jobs=4): err= 0: pid=772: Fri Aug 22 19:37:46 2025
  write: IOPS=20.4k, BW=79.8MiB/s (83.7MB/s)(2395MiB/30003msec); 0 zone resets
    slat (nsec): min=0, max=1880.0k, avg=709.88, stdev=2826.83
    clat (usec): min=1185, max=123495, avg=3128.70, stdev=2583.57
     lat (usec): min=1185, max=123496, avg=3129.41, stdev=2583.69
    clat percentiles (usec):
     |  1.00th=[ 1778],  5.00th=[ 1975], 10.00th=[ 2089], 20.00th=[ 2245],
     | 30.00th=[ 2376], 40.00th=[ 2507], 50.00th=[ 2606], 60.00th=[ 2769],
     | 70.00th=[ 2933], 80.00th=[ 3228], 90.00th=[ 3785], 95.00th=[ 5473],
     | 99.00th=[15139], 99.50th=[17695], 99.90th=[24773], 99.95th=[34866],
     | 99.99th=[74974]
   bw (  KiB/s): min=39056, max=104244, per=99.28%, avg=81170.23, stdev=3927.76, samples=240
   iops        : min= 9762, max=26058, avg=20291.15, stdev=981.90, samples=240
  lat (msec)   : 2=5.70%, 4=85.84%, 10=6.27%, 20=1.93%, 50=0.24%
  lat (msec)   : 100=0.02%, 250=0.01%
  cpu          : usr=2.22%, sys=2.66%, ctx=453148, majf=0, minf=38
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=50.4%, 16=49.6%, 32=0.0%, >=64=0.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=99.0%, 8=1.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,613237,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=79.8MiB/s (83.7MB/s), 79.8MiB/s-79.8MiB/s (83.7MB/s-83.7MB/s), io=2395MiB (2512MB), run=30003-30003msec

Tart VM (no options)

Testing with async I/O engine: posixaio
seq-read: (g=0): rw=read, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=1
fio-3.40
Starting 1 process
seq-read: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [R(1)][100.0%][r=14.5GiB/s][r=14.9k IOPS][eta 00m:00s]
seq-read: (groupid=0, jobs=1): err= 0: pid=696: Fri Aug 22 19:28:22 2025
  read: IOPS=16.4k, BW=16.0GiB/s (17.2GB/s)(480GiB/30001msec)
    clat (usec): min=52, max=8159, avg=60.73, stdev=38.24
     lat (usec): min=52, max=8160, avg=60.78, stdev=38.98
    clat percentiles (usec):
     |  1.00th=[   55],  5.00th=[   56], 10.00th=[   57], 20.00th=[   57],
     | 30.00th=[   58], 40.00th=[   59], 50.00th=[   59], 60.00th=[   60],
     | 70.00th=[   61], 80.00th=[   62], 90.00th=[   65], 95.00th=[   71],
     | 99.00th=[  102], 99.50th=[  123], 99.90th=[  200], 99.95th=[  343],
     | 99.99th=[ 1565]
   bw (  MiB/s): min=11592, max=17158, per=100.00%, avg=16415.70, stdev=1090.23, samples=59
   iops        : min=11592, max=17158, avg=16415.20, stdev=1090.19, samples=59
  lat (usec)   : 100=98.89%, 250=1.04%, 500=0.03%, 750=0.01%, 1000=0.01%
  lat (msec)   : 2=0.01%, 4=0.01%, 10=0.01%
  cpu          : usr=0.91%, sys=99.09%, ctx=18, majf=0, minf=74
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%, >=64=0.0%
     issued rwts: total=491969,0,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
   READ: bw=16.0GiB/s (17.2GB/s), 16.0GiB/s-16.0GiB/s (17.2GB/s-17.2GB/s), io=480GiB (516GB), run=30001-30001msec
seq-write: (g=0): rw=write, bs=(R) 1024KiB-1024KiB, (W) 1024KiB-1024KiB, (T) 1024KiB-1024KiB, ioengine=psync, iodepth=1
fio-3.40
Starting 1 process
seq-write: Laying out IO file (1 file / 2048MiB)
Jobs: 1 (f=1): [W(1)][100.0%][w=12.0GiB/s][w=12.3k IOPS][eta 00m:00s]
seq-write: (groupid=0, jobs=1): err= 0: pid=704: Fri Aug 22 19:28:54 2025
  write: IOPS=11.7k, BW=11.4GiB/s (12.2GB/s)(342GiB/30001msec); 0 zone resets
    clat (usec): min=63, max=17462, avg=83.35, stdev=90.22
     lat (usec): min=65, max=17464, avg=85.50, stdev=90.37
    clat percentiles (usec):
     |  1.00th=[   71],  5.00th=[   72], 10.00th=[   73], 20.00th=[   74],
     | 30.00th=[   74], 40.00th=[   75], 50.00th=[   76], 60.00th=[   77],
     | 70.00th=[   79], 80.00th=[   81], 90.00th=[   86], 95.00th=[   97],
     | 99.00th=[  239], 99.50th=[  441], 99.90th=[  955], 99.95th=[ 1369],
     | 99.99th=[ 3326]
   bw (  MiB/s): min= 1431, max=12802, per=100.00%, avg=11669.95, stdev=2141.32, samples=59
   iops        : min= 1431, max=12802, avg=11669.44, stdev=2141.25, samples=59
  lat (usec)   : 100=95.45%, 250=3.56%, 500=0.64%, 750=0.10%, 1000=0.15%
  lat (msec)   : 2=0.05%, 4=0.02%, 10=0.01%, 20=0.01%
  cpu          : usr=3.23%, sys=96.26%, ctx=770, majf=0, minf=11
  IO depths    : 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.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.0%, >=64=0.0%
     issued rwts: total=0,349861,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency   : target=0, window=0, percentile=100.00%, depth=1

Run status group 0 (all jobs):
  WRITE: bw=11.4GiB/s (12.2GB/s), 11.4GiB/s-11.4GiB/s (12.2GB/s-12.2GB/s), io=342GiB (367GB), run=30001-30001msec
rand-read: (g=0): rw=randread, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=64
...
fio-3.40
Starting 4 processes
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
rand-read: Laying out IO file (1 file / 2048MiB)
Jobs: 4 (f=4): [r(4)][100.0%][r=186MiB/s][r=47.7k IOPS][eta 00m:00s]
rand-read: (groupid=0, jobs=4): err= 0: pid=714: Fri Aug 22 19:29:30 2025
  read: IOPS=48.9k, BW=191MiB/s (200MB/s)(5726MiB/30002msec)
    slat (nsec): min=0, max=699000, avg=710.78, stdev=1047.48
    clat (usec): min=102, max=17113, avg=1306.96, stdev=380.52
     lat (usec): min=148, max=17114, avg=1307.67, stdev=380.52
    clat percentiles (usec):
     |  1.00th=[  766],  5.00th=[  898], 10.00th=[  979], 20.00th=[ 1074],
     | 30.00th=[ 1139], 40.00th=[ 1205], 50.00th=[ 1270], 60.00th=[ 1336],
     | 70.00th=[ 1418], 80.00th=[ 1500], 90.00th=[ 1647], 95.00th=[ 1778],
     | 99.00th=[ 2180], 99.50th=[ 2540], 99.90th=[ 4228], 99.95th=[ 5735],
     | 99.99th=[14222]
   bw (  KiB/s): min=155388, max=221817, per=100.00%, avg=195604.73, stdev=3433.39, samples=236
   iops        : min=38846, max=55452, avg=48899.83, stdev=858.34, samples=236
  lat (usec)   : 250=0.01%, 500=0.01%, 750=0.75%, 1000=11.34%
  lat (msec)   : 2=86.13%, 4=1.65%, 10=0.09%, 20=0.03%
  cpu          : usr=4.42%, sys=4.90%, ctx=756208, majf=0, minf=38
  IO depths    : 1=0.1%, 2=0.1%, 4=0.5%, 8=58.3%, 16=41.2%, 32=0.0%, >=64=0.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=97.7%, 8=2.1%, 16=0.2%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=1465974,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=191MiB/s (200MB/s), 191MiB/s-191MiB/s (200MB/s-200MB/s), io=5726MiB (6005MB), run=30002-30002msec
rand-write: (g=0): rw=randwrite, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=posixaio, iodepth=64
...
fio-3.40
Starting 4 processes
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
rand-write: Laying out IO file (1 file / 2048MiB)
Jobs: 4 (f=4): [w(4)][100.0%][w=27.9MiB/s][w=7131 IOPS][eta 00m:00s]
rand-write: (groupid=0, jobs=4): err= 0: pid=727: Fri Aug 22 19:30:05 2025
  write: IOPS=17.4k, BW=68.1MiB/s (71.4MB/s)(2043MiB/30007msec); 0 zone resets
    slat (nsec): min=0, max=4641.0k, avg=795.02, stdev=9453.01
    clat (usec): min=87, max=245131, avg=3668.14, stdev=4107.40
     lat (usec): min=137, max=245132, avg=3668.94, stdev=4107.58
    clat percentiles (usec):
     |  1.00th=[  1926],  5.00th=[  2147], 10.00th=[  2278], 20.00th=[  2442],
     | 30.00th=[  2606], 40.00th=[  2737], 50.00th=[  2868], 60.00th=[  2999],
     | 70.00th=[  3195], 80.00th=[  3556], 90.00th=[  4948], 95.00th=[  8029],
     | 99.00th=[ 18744], 99.50th=[ 21627], 99.90th=[ 40633], 99.95th=[ 57410],
     | 99.99th=[235930]
   bw (  KiB/s): min=19714, max=94453, per=99.37%, avg=69291.70, stdev=4785.17, samples=240
   iops        : min= 4926, max=23612, avg=17321.73, stdev=1196.28, samples=240
  lat (usec)   : 100=0.01%, 250=0.01%, 500=0.01%, 1000=0.01%
  lat (msec)   : 2=1.91%, 4=83.03%, 10=11.74%, 20=2.58%, 50=0.67%
  lat (msec)   : 100=0.05%, 250=0.01%
  cpu          : usr=2.05%, sys=2.62%, ctx=390457, majf=0, minf=39
  IO depths    : 1=0.1%, 2=0.1%, 4=0.1%, 8=50.4%, 16=49.6%, 32=0.0%, >=64=0.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=99.0%, 8=1.0%, 16=0.1%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=0,523119,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=68.1MiB/s (71.4MB/s), 68.1MiB/s-68.1MiB/s (71.4MB/s-71.4MB/s), io=2043MiB (2143MB), run=30007-30007msec

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment