For RW and 20 tasks I see ~75MB/s, for Write-Only and Read-Only with 20 tasks ~100MB/s,
Read-Only:
test: (g=0): rw=read, bs=(R) 512KiB-512KiB, (W) 512KiB-512KiB, (T) 512KiB-512KiB, ioengine=psync, iodepth=1
...
fio-3.19
Starting 20 processes
Jobs: 1 (f=1): )_(10),R(1),_(9)]9100.0%]0r=79.9MiB/s]/r=159 IOPS]Peta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=102943: Tue May 11 13:22:36 2021
read: IOPS=193, BW=96.9MiB/s (102MB/s)(100GiB/1057228msec)
clat (usec): min=113, max=123336, avg=5159.42, stdev=8535.84
lat (usec): min=113, max=123336, avg=5159.74, stdev=8535.85
clat percentiles (usec):
| 1.00th= 117], 5.00th= 161], 10.00th=[ 408], 20.00th== 453],
| 30.00th=b 482], 40.00th=. 510], 50.00th=0 570], 60.00th=5 709],
| 70.00th= 5407], 80.00th= 9896], 90.00th=016712], 95.00th=922676],
| 99.00th==37487], 99.50th= 44827], 99.90th=360556], 99.95th=467634],
| 99.99th=586508]
bw ( KiB/s): min=44346, max=801792, per=5.58%, avg=98929.95, stdev=52916.18, samples=2110
iops : min= 86, max= 1566, avg=193.12, stdev=103.36, samples=2110
lat (usec) : 250=8.51%, 500=28.60%, 750=24.22%, 1000=2.82%
lat (msec) : 2=0.92%, 4=2.31%, 10=12.73%, 20=13.11%, 50=6.47%
lat (msec) : 100=0.29%, 250=0.01%
cpu : usr=0.09%, sys=0.68%, ctx=204804, majf=0, minf=143
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=204800,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
test: (groupid=0, jobs=1): err= 0: pid=102944: Tue May 11 13:22:36 2021
read: IOPS=194, BW=97.2MiB/s (102MB/s)(100GiB/1053277msec)
clat (usec): min=113, max=122927, avg=5140.17, stdev=8549.27
lat (usec): min=113, max=122927, avg=5140.47, stdev=8549.27
clat percentiles (usec):
| 1.00th=, 117], 5.00th=d 153], 10.00th= 330], 20.00th=t 453],
| 30.00th= 482], 40.00th=, 510], 50.00th=3 570], 60.00th=3 693],
| 70.00th= 5276], 80.00th=[10028], 90.00th==16909], 95.00th=h22676],
| 99.00th=<37487], 99.50th=044827], 99.90th=061080], 99.95th=068682],
| 99.99th=682314]
bw ( KiB/s): min=49152, max=758291, per=5.62%, avg=99605.59, stdev=60406.04, samples=2102
iops : min= 96, max= 1481, avg=194.44, stdev=117.99, samples=2102
lat (usec) : 250=9.65%, 500=27.67%, 750=24.49%, 1000=2.77%
lat (msec) : 2=0.92%, 4=2.18%, 10=12.40%, 20=13.16%, 50=6.45%
lat (msec) : 100=0.31%, 250=0.01%
cpu : usr=0.09%, sys=0.68%, ctx=204807, majf=0, minf=143
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=204800,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=1730MiB/s (1814MB/s), 86.5MiB/s-538MiB/s (90.7MB/s-564MB/s), io=2000GiB (2147GB), run=190303-1183552msec
Disk stats (read/write):
sdb: ios=4095969/6, merge=239/0, ticks=16619508/0, in_queue=14989359, util=100.00%
fio write only test with 20 tasks
I’m not sure about the block size but I think it’s 512K in Veeam.
lroot@sdeu2000 sdeu2000_veeam01]# fio --rw=write --name=test --size=100G --direct=1 --bs=512k --numjobs=20
test: (g=0): rw=write, bs=(R) 512KiB-512KiB, (W) 512KiB-512KiB, (T) 512KiB-512KiB, ioengine=psync, iodepth=1
...
fio-3.19
Starting 20 processes
Jobs: 19 (f=19): f_(1),W(19)],99.9%][w=1934MiB/s]4w=3868 IOPS]8eta 00m:01s]
test: (groupid=0, jobs=1): err= 0: pid=98126: Tue May 11 12:23:30 2021
write: IOPS=200, BW=100MiB/s (105MB/s)(100GiB/1021525msec); 0 zone resets
clat (usec): min=139, max=143292, avg=4969.42, stdev=2871.79
lat (usec): min=147, max=143310, avg=4984.00, stdev=2871.79
clat percentiles (usec):
| 1.00th= 1893], 5.00th== 2311], 10.00th=t 2671], 20.00th=0 3261],
| 30.00th=1 3720], 40.00th= 4047], 50.00th=, 4359], 60.00th=] 4752],
| 70.00th=[ 5276], 80.00th= 6325], 90.00th= 8029], 95.00th= 9503],
| 99.00th=5 13173], 99.50th=b 14615], 99.90th=0 17957], 99.95th=5 20055],
| 99.99th=]135267]
bw ( KiB/s): min=75776, max=230400, per=5.01%, avg=102812.49, stdev=7472.14, samples=2039
iops : min= 148, max= 450, avg=200.78, stdev=14.60, samples=2039
lat (usec) : 250=0.04%, 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=1.61%, 4=36.95%, 10=57.32%, 20=4.02%, 50=0.03%
lat (msec) : 100=0.01%, 250=0.02%
cpu : usr=0.40%, sys=0.85%, ctx=204806, majf=0, minf=14
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,204800,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=1
test: (groupid=0, jobs=1): err= 0: pid=98127: Tue May 11 12:23:30 2021
write: IOPS=200, BW=100MiB/s (105MB/s)(100GiB/1022210msec); 0 zone resets
clat (usec): min=303, max=143285, avg=4969.88, stdev=2876.83
lat (usec): min=316, max=143305, avg=4986.58, stdev=2876.84
clat percentiles (usec):
| 1.00th=a 1893], 5.00th=6 2311], 10.00th=4 2638], 20.00th=p 3261],
| 30.00th= 3720], 40.00th=1 4047], 50.00th= 4359], 60.00th= 4752],
| 70.00th=r 5276], 80.00th=0 6325], 90.00th=0 8029], 95.00th=. 9634],
| 99.00th=7 13173], 99.50th= 14615], 99.90th=6 18220], 99.95th=2 20055],
| 99.99th=h133694]
bw ( KiB/s): min=74752, max=205606, per=5.01%, avg=102716.82, stdev=6928.77, samples=2040
iops : min= 146, max= 401, avg=200.59, stdev=13.53, samples=2040
lat (usec) : 500=0.01%, 750=0.01%, 1000=0.01%
lat (msec) : 2=1.65%, 4=36.89%, 10=57.32%, 20=4.07%, 50=0.03%
lat (msec) : 100=0.01%, 250=0.02%
cpu : usr=0.43%, sys=0.99%, ctx=204805, majf=0, minf=146
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,204800,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=2003MiB/s (2101MB/s), 100MiB/s-100MiB/s (105MB/s-105MB/s), io=2000GiB (2147GB), run=1021525-1022299msec
Disk stats (read/write):
sdb: ios=1/4095953, merge=0/239, ticks=0/20170621, in_queue=18120249, util=100.00%
Did you try a single-job (--numjobs=1) test? For read, I think, this is also interesting.
Here are numbers for write and read with one task.
# fio --rw=read --name=test --size=100G --direct=1 --bs=512k --numjobs=1
test: (g=0): rw=read, bs=(R) 512KiB-512KiB, (W) 512KiB-512KiB, (T) 512KiB-512KiB, ioengine=psync, iodepth=1
fio-3.19
Starting 1 process
Jobs: 1 (f=1): 1R(1)](100.0%].r=2052MiB/s]Br=4104 IOPS]Oeta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=110268: Tue May 11 14:34:11 2021
read: IOPS=4493, BW=2247MiB/s (2356MB/s)(100GiB/45572msec)
clat (usec): min=126, max=87993, avg=221.41, stdev=921.48
lat (usec): min=126, max=87994, avg=221.57, stdev=921.49
clat percentiles (usec):
| 1.00th= 128], 5.00th= 129], 10.00th== 130], 20.00th=h 133],
| 30.00th=< 143], 40.00th=0 163], 50.00th=4 167], 60.00th= 169],
| 70.00th= 169], 80.00th= 172], 90.00th= 172], 95.00th= 176],
| 99.00th=0 502], 99.50th= 4752], 99.90th=015008], 99.95th=518744],
| 99.99th=,26346]
bw ( MiB/s): min= 906, max= 2671, per=100.00%, avg=2256.48, stdev=334.99, samples=90
iops : min= 1812, max= 5342, avg=4512.97, stdev=669.99, samples=90
lat (usec) : 250=98.46%, 500=0.54%, 750=0.03%, 1000=0.03%
lat (msec) : 2=0.10%, 4=0.23%, 10=0.42%, 20=0.14%, 50=0.04%
lat (msec) : 100=0.01%
cpu : usr=0.82%, sys=11.81%, ctx=204802, majf=0, minf=141
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=204800,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=2247MiB/s (2356MB/s), 2247MiB/s-2247MiB/s (2356MB/s-2356MB/s), io=100GiB (107GB), run=45572-45572msec
Disk stats (read/write):
sdb: ios=204355/0, merge=12/0, ticks=40212/0, in_queue=12267, util=99.95%
# fio --rw=write --name=test --size=100G --direct=1 --bs=512k --numjobs=1
test: (g=0): rw=write, bs=(R) 512KiB-512KiB, (W) 512KiB-512KiB, (T) 512KiB-512KiB, ioengine=psync, iodepth=1
fio-3.19
Starting 1 process
Jobs: 1 (f=1): KW(1)]o100.0%]pw=2330MiB/s]hw=4659 IOPS]3eta 00m:00s]
test: (groupid=0, jobs=1): err= 0: pid=110600: Tue May 11 14:36:35 2021
write: IOPS=4684, BW=2342MiB/s (2456MB/s)(100GiB/43718msec); 0 zone resets
clat (usec): min=131, max=3000, avg=200.27, stdev=49.15
lat (usec): min=136, max=3016, avg=212.75, stdev=50.33
clat percentiles (usec):
| 1.00th=n 137], 5.00th=a 139], 10.00th== 153], 20.00th= 169],
| 30.00th=/ 174], 40.00th=0 180], 50.00th=. 192], 60.00th=0 202],
| 70.00th=1 212], 80.00th= 227], 90.00th=7 253], 95.00th=1 289],
| 99.00th=t 375], 99.50th=> 416], 99.90th=h 529], 99.95th=t 570],
| 99.99th=, 816]
bw ( MiB/s): min= 2268, max= 2598, per=100.00%, avg=2346.06, stdev=80.44, samples=87
iops : min= 4536, max= 5196, avg=4692.13, stdev=160.85, samples=87
lat (usec) : 250=89.58%, 500=10.27%, 750=0.14%, 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%
cpu : usr=6.12%, sys=9.37%, ctx=204800, majf=0, minf=12
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,204800,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=2342MiB/s (2456MB/s), 2342MiB/s-2342MiB/s (2456MB/s-2456MB/s), io=100GiB (107GB), run=43718-43718msec
Disk stats (read/write):
sdb: ios=0/204799, merge=0/12, ticks=0/37238, in_queue=8, util=99.94%
after all i’m now member of apollo gang
. Don’t forget like me to configure cache of the controller, by default it was 100% to read. The difference was HUGE. Interesting fact my processing rate quadruplet compared to my old dedup appliance on same backup scenario. I will continue my test to a specific restoration scenario to compare read performances on backup repo.
fio --rw=write --name=test --size=50G --direct=1 --bs=512k --numjobs=20 --ioengine=libaio --iodepth=16 --refill_buffers --group_reporting
test: (g=0): rw=write, bs=(R) 512KiB-512KiB, (W) 512KiB-512KiB, (T) 512KiB-512KiB, ioengine=libaio, iodepth=16
...
fio-3.19
Starting 20 processes
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
test: Laying out IO file (1 file / 51200MiB)
Jobs: 11 (f=10): 1f(1),W(1),_(1),W(1),_(1),W(1),_(1),W(2),_(4),W(1),_(2),W(4)]W99.5%]9w=2398MiB/s]iw=4795 IOPS]Ieta 00m:02s]
test: (groupid=0, jobs=20): err= 0: pid=276626: Fri Feb 18 12:28:06 2022
write: IOPS=5030, BW=2515MiB/s (2637MB/s)(1000GiB/407115msec); 0 zone resets
slat (usec): min=5, max=204138, avg=2829.68, stdev=8357.51
clat (usec): min=1612, max=905853, avg=60461.38, stdev=32858.38
lat (usec): min=1621, max=914383, avg=63291.66, stdev=33526.12
clat percentiles (msec):
| 1.00th=> 35], 5.00th=1 39], 10.00th= 41], 20.00th=9 43],
| 30.00th== 45], 40.00th=> 47], 50.00th=t 50], 60.00th=0 53],
| 70.00th=5 57], 80.00th= 65], 90.00th= 90], 95.00th= 155],
| 99.00th=. 186], 99.50th=9 197], 99.90th=< 215], 99.95th= 224],
| 99.99th= 241]
bw ( MiB/s): min= 1528, max= 4374, per=100.00%, avg=2521.54, stdev=17.08, samples=16126
iops : min= 3055, max= 8738, avg=5032.83, stdev=34.26, samples=16126
lat (msec) : 2=0.01%, 4=0.01%, 10=0.01%, 20=0.09%, 50=51.84%
lat (msec) : 100=39.01%, 250=9.04%, 500=0.01%, 750=0.01%, 1000=0.01%
cpu : usr=5.01%, sys=1.05%, ctx=2038785, majf=0, minf=77794
IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=100.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.1%, 32=0.0%, 64=0.0%, >=64=0.0%
issued rwts: total=0,2048000,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=16
Run status group 0 (all jobs):
WRITE: bw=2515MiB/s (2637MB/s), 2515MiB/s-2515MiB/s (2637MB/s-2637MB/s), io=1000GiB (1074GB), run=407115-407115msec
Disk stats (read/write):
sda: ios=0/2046821, merge=0/125, ticks=0/103413090, in_queue=103413090, util=100.00%
Yes, we use LVM by default. But not for the Veeam extents. /var has a size of 25 GB now, 17 GB are used, 12 GB Veeam logs.
xfs mount options (not much tuning):
… type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,sunit=512,swidth=6144,noquota)