Hi,
I have 3 TrueNAS servers, I seem to be struggling with performance (I think) on all of them, the first server is mixed use of media storage and also has iSCSI extents. I will break down this post into 3 sections for each server, their config and some test results. I would like to get community input as to see if I actually am having performance issues.
Server 1:
Spec
Dell R710
3 Mirrored vDevs using 6tb wd reds
CPU: Dual E5520’s
RAM: 96 GB
Intel X710
Record Size 128K
iSCSI logical block size: 512
iPerf3 results just under 10gb
This server also is used as an NFS share
FIO test: fio --filename=test --direct=1 --rw=randrw --randrepeat=0 --rwmixread=100 --iodepth=128 --numjobs=12 --runtime=60 --group_reporting --name=4ktest --ioengine=psync --size=4G --bs=128k
Gets stuck at
fio --filename=test --direct=1 --rw=randrw --randrepeat=0 --rwmixread=100 --iodepth=128 --numjobs=12 --runtime=60 --group_reporting --name=4ktest --ioengine=psync --size=4G --bs=128k
4ktest: (g=0): rw=randrw, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=psync, iodepth=128
…
fio-3.28
Starting 12 processes
4ktest: Laying out IO file (1 file / 4096MiB)
Server 2:
**Spec **
Desktop PC:
CPu: Intel(R) Core™ i7-6700 CPU @ 3.40GHz
RAM: 32GB
Mirrored vDev: 2x2 sata drives
SSD slog: 1tb
Intel x710
Record Size 128K
iSCSI logical block size: 512
iPerf3 results just under 10gb
fio --filename=test --direct=1 --rw=randrw --randrepeat=0 --rwmixread=100 --iodepth=128 --numjobs=12 --runtime=60 --group_reporting --name=4ktest --ioengine=psync --size=4G --bs=128k
4ktest: (g=0): rw=randrw, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=psync, iodepth=128
…
fio-3.28
Starting 12 processes
4ktest: Laying out IO file (1 file / 4096MiB)
Jobs: 12 (f=12): [r(12)][80.0%][r=11.8GiB/s][r=96.4k IOPS][eta 00m:01s]
4ktest: (groupid=0, jobs=12): err= 0: pid=25690: Tue Jul 1 16:28:45 2025
read: IOPS=100k, BW=12.3GiB/s (13.2GB/s)(48.0GiB/3918msec)
clat (usec): min=9, max=168498, avg=113.97, stdev=1300.02
lat (usec): min=9, max=168498, avg=114.09, stdev=1300.24
clat percentiles (usec):
| 1.00th=[ 28], 5.00th=[ 41], 10.00th=[ 47], 20.00th=[ 54],
| 30.00th=[ 65], 40.00th=[ 77], 50.00th=[ 81], 60.00th=[ 83],
| 70.00th=[ 86], 80.00th=[ 88], 90.00th=[ 91], 95.00th=[ 93],
| 99.00th=[ 117], 99.50th=[ 172], 99.90th=[10945], 99.95th=[27132],
| 99.99th=[62653]
bw ( MiB/s): min= 8774, max=17373, per=100.00%, avg=12709.92, stdev=242.22, samples=84
iops : min=70192, max=138986, avg=101676.00, stdev=1937.76, samples=84
lat (usec) : 10=0.01%, 20=0.30%, 50=15.06%, 100=83.20%, 250=1.14%
lat (usec) : 500=0.04%, 750=0.01%, 1000=0.01%
lat (msec) : 2=0.02%, 4=0.06%, 10=0.05%, 20=0.05%, 50=0.05%
lat (msec) : 100=0.02%, 250=0.01%
cpu : usr=1.51%, sys=63.12%, ctx=7331, majf=0, minf=0
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=393216,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=128Run status group 0 (all jobs):
READ: bw=12.3GiB/s (13.2GB/s), 12.3GiB/s-12.3GiB/s (13.2GB/s-13.2GB/s), io=48.0GiB (51.5GB), run=3918-3918msec
**Server3: **
Dell R510:
CPu: Dual Intel(R) Xeon(R) CPU X5650 @ 2.67GHz
RAM: 128GB
Mirrored vDEV: 6 4tb sata drives
SLOG: 250gb SSD
Intel X710
Iperf just under 10gb/s
fio --filename=test --direct=1 --rw=randrw --randrepeat=0 --rwmixread=100 --iodepth=128 --numjobs=12 --runtime=60 --group_reporting --name=4ktest --ioengine=psync --size=4G --bs=128k
4ktest: (g=0): rw=randrw, bs=(R) 128KiB-128KiB, (W) 128KiB-128KiB, (T) 128KiB-128KiB, ioengine=psync, iodepth=128
…
fio-3.28
Starting 12 processes
4ktest: Laying out IO file (1 file / 4096MiB)
Jobs: 12 (f=12): [r(12)][80.0%][r=13.6GiB/s][r=112k IOPS][eta 00m:01s]
4ktest: (groupid=0, jobs=12): err= 0: pid=36176: Tue Jul 1 16:28:16 2025
read: IOPS=107k, BW=13.1GiB/s (14.1GB/s)(48.0GiB/3658msec)
clat (usec): min=27, max=4256, avg=103.39, stdev=54.33
lat (usec): min=27, max=4256, avg=103.74, stdev=54.43
clat percentiles (usec):
| 1.00th=[ 43], 5.00th=[ 52], 10.00th=[ 57], 20.00th=[ 62],
| 30.00th=[ 68], 40.00th=[ 73], 50.00th=[ 84], 60.00th=[ 110],
| 70.00th=[ 125], 80.00th=[ 139], 90.00th=[ 163], 95.00th=[ 212],
| 99.00th=[ 273], 99.50th=[ 297], 99.90th=[ 424], 99.95th=[ 510],
| 99.99th=[ 775]
bw ( MiB/s): min=11844, max=15748, per=100.00%, avg=13845.66, stdev=110.39, samples=77
iops : min=94751, max=125985, avg=110760.38, stdev=883.11, samples=77
lat (usec) : 50=3.65%, 100=51.81%, 250=42.52%, 500=1.96%, 750=0.04%
lat (usec) : 1000=0.01%
lat (msec) : 2=0.01%, 4=0.01%, 10=0.01%
cpu : usr=5.31%, sys=93.76%, ctx=5008, majf=0, minf=0
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=393216,0,0,0 short=0,0,0,0 dropped=0,0,0,0
latency : target=0, window=0, percentile=100.00%, depth=128Run status group 0 (all jobs):
READ: bw=13.1GiB/s (14.1GB/s), 13.1GiB/s-13.1GiB/s (14.1GB/s-14.1GB/s), io=48.0GiB (51.5GB), run=3658-3658msec
I’d be interested to get some thoughts and also work out why server 1 never kicked on with the test?