I turned off all lxc and VMs. rebooted.
did more testing and read speeds are good now, 100MBps for each drive in zpool iostat -v
pve# fio --name=seqread --rw=read --direct=1 --ioengine=libaio --bs=8k --numjobs=1 --size=30G --runtime=120 --group_reporting
seqread: (g=0): rw=read, bs=(R) 8192B-8192B, (W) 8192B-8192B, (T) 8192B-8192B, ioengine=libaio, iodepth=1
fio-3.33
Starting 1 process
seqread: Laying out IO file (1 file / 30720MiB)
Jobs: 1 (f=1): [R(1)][100.0%][r=1200MiB/s][r=154k IOPS][eta 00m:00s]
seqread: (groupid=0, jobs=1): err= 0: pid=25199: Wed Feb 28 00:40:20 2024
read: IOPS=120k, BW=940MiB/s (985MB/s)(30.0GiB/32687msec)
slat (usec): min=2, max=89855, avg= 7.11, stdev=130.04
clat (nsec): min=658, max=96097, avg=929.54, stdev=1437.12
lat (usec): min=3, max=89862, avg= 8.04, stdev=130.08
clat percentiles (nsec):
| 1.00th=[ 684], 5.00th=[ 700], 10.00th=[ 716], 20.00th=[ 732],
| 30.00th=[ 756], 40.00th=[ 772], 50.00th=[ 796], 60.00th=[ 820],
| 70.00th=[ 836], 80.00th=[ 860], 90.00th=[ 876], 95.00th=[ 908],
| 99.00th=[ 2544], 99.50th=[16320], 99.90th=[20096], 99.95th=[22144],
| 99.99th=[27520]
bw ( KiB/s): min=613296, max=1424720, per=99.95%, avg=961865.85, stdev=97906.08, samples=65
iops : min=76662, max=178090, avg=120233.35, stdev=12238.12, samples=65
lat (nsec) : 750=27.95%, 1000=69.39%
lat (usec) : 2=1.59%, 4=0.13%, 10=0.30%, 20=0.53%, 50=0.10%
lat (usec) : 100=0.01%
cpu : usr=17.31%, sys=76.93%, ctx=542, 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=3932160,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=940MiB/s (985MB/s), 940MiB/s-940MiB/s (985MB/s-985MB/s), io=30.0GiB (32.2GB), run=32687-32687msec
pve#